|
|
舉個例子,下午1點(diǎn)時,你想看3小時的書,然后在下午4點(diǎn)開始玩1小時游戲,然后到5點(diǎn)看3小時電視,最后上床睡覺,但是你又怕忘記了,你有兩個鬧鐘,于是鬧鐘A你設(shè)置為3小時后響,定義為打游戲,鬧鐘B你設(shè)置為4小時后響,定義為如果是晚上則睡覺,如果是白天則看電視.設(shè)置好后,你同時按下計(jì)時按鈕,看書去了,兩個鬧鐘則同時開始計(jì)時.這里假設(shè)你在完成鬧鐘A里所代表的事情前,都不會理會鬧鐘B所代表的事情.
到了下午4點(diǎn),鬧鐘A響了,打游戲的時間到了,你丟下書,跑去打游戲,到了下午5點(diǎn),鬧鐘B也響了,但是你你覺得游戲太好玩了,還想再玩會,結(jié)果一直玩到了晚上8點(diǎn),然后去執(zhí)行鬧鐘B里的事情,一看,天已經(jīng)黑了,然后就睡覺了.
到最后發(fā)現(xiàn),原來計(jì)劃看電視的那個環(huán)節(jié)給漏掉了,原因就是你(CPU)覺得游戲太好玩了(高優(yōu)先級中斷里的代碼執(zhí)行時間太長),而導(dǎo)致鬧鐘B(低優(yōu)先級中斷)所代表的事情沒有得到及時的響應(yīng).
等去執(zhí)行時,可能一些條件發(fā)生了變化(例子里是天已經(jīng)黑了),從而產(chǎn)生了意料之外的結(jié)果.
當(dāng)然這只是個最簡單的且不太恰當(dāng)?shù)睦?實(shí)際情況則復(fù)雜得多. |
|