1、若主句表示的是一个短暂性的动作,而从句表示的是一个持续性动作时,两者都可用。如:
He fell asleep when [while] he was reading. 他看书时睡着了。
I met him when [while] I was taking a walk in the park. 我在公园散步时遇到了他。
2、若主、从句表示两个同时进行的持续性动作,且强调主句表示的动作延续到从句所指的整个时间,通常要用 while。如:
Don't talk while you're eating. 吃饭时不要说话。
I kept silent while he was writing. 在他写的时候,我默不作声。
3、若从句是一个短暂性动作,而主句是一个持续性动作,可以 when 但不用 while。如:
When he came in, I was listening to the radio. 他进来时,我在听收音机。
It was raining hard when we arrived. 我们到达时正下着大雨。
4、若主、从句表示的是两个同时(或几乎同时)发生的短暂性动作,一般要用 when。如:
I thought of it just when you opened your mouth. 就在你要说的时候,我也想到了。
至于什么是短暂性动作,什么是持续性动作,其实有个很简单的规律。就是如果是进行时态,一般是持续性的。如果是过去式,一般是短暂性动作。
I was watching TV while my father was sleeping.
当我爸在睡觉的时候,我在看电视。
I picked up the phone when it rang.
电话响起时,我接起来了。
He called while/when I was sleeping.
我在睡觉时他打来了。(这里用while或when都可以)
I got into an accident while I was driving home.
我开车回家时发生意外了。
I was sleeping when he called.
他打来时我在睡觉。