要看从句和主句中所使用的动词是短暂性动作(瞬时动词)还是持续性动作。
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.就在你要说的时候,我也想到了。