回覆列表
  • 1 # 使用者9531277222877

    執行緒從建立、執行到結束總是處於下面五個狀態之一:新建狀態、就緒狀態、執行狀態、阻塞狀態及死亡狀態。下圖是使用時間片輪轉法的作業系統程序的狀態和它們之間的轉換。掛起和睡眠是主動的,掛起恢復需要主動完成,睡眠恢復則是自動完成的,因為睡眠有一個睡眠時間,睡眠時間到則恢復到就緒態。而阻塞是被動的,是在等待某種事件或者資源的表現,一旦獲得所需資源或者事件資訊就自動回到就緒態。睡眠和掛起是兩種行為,阻塞則是一種狀態。作業系統中睡眠、阻塞、掛起的區別形象解釋:首先這些術語都是對於執行緒來說的。對執行緒的控制就好比你控制了一個僱工為你幹活。你對僱工的控制是透過程式設計來實現的。掛起執行緒的意思就是你對主動對僱工說:“你睡覺去吧,用著你的時候我主動去叫你,然後接著幹活”。使執行緒睡眠的意思就是你主動對僱工說:“你睡覺去吧,某時某刻過來報到,然後接著幹活”。執行緒阻塞的意思就是,你突然發現,你的僱工不知道在什麼時候沒經過你允許,自己睡覺呢,但是你不能怪僱工,肯定你這個僱主沒注意,本來你讓僱工掃地,結果掃帚被偷了或被鄰居家借去了,你又沒讓僱工繼續幹別的活,他就只好睡覺了。至於掃帚回來後,僱工會不會知道,會不會繼續幹活,你不用擔心,僱工一旦發現掃帚回來了,他就會自己去幹活的。因為僱工受過良好的培訓。這個培訓機構就是作業系統。

  • 中秋節和大豐收的關聯?
  • 你覺得哪一部電視劇的主題曲最能打動人心?