从操作系统层面描述线程的五种状态
生活随笔
收集整理的這篇文章主要介紹了
从操作系统层面描述线程的五种状态
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
?
?
[初始狀態(tài)]
僅是在語言層面創(chuàng)建 了線程對象, 還未與操作系統(tǒng)線程關(guān)聯(lián)
?
[可運行狀態(tài)] (就緒狀態(tài))
指該線程已經(jīng)被創(chuàng)建(與操作系統(tǒng)線程關(guān)聯(lián)), 可以由CPU調(diào)度執(zhí)行
?
[運行狀態(tài)]
指獲取了CPU時間片運行中的狀態(tài)
當CPU時間片用完,會從[運行狀態(tài)]轉(zhuǎn)換至[可運行狀態(tài)],會導致線程的上下文切換
如果調(diào)用了阻塞API,如BIO讀寫文件,這時該線程實際不會用到CPU,會導致線程上下文切換,進
?
[阻塞狀態(tài)]
等BIO操作完畢,會由操作系統(tǒng)喚醒阻塞的線程,轉(zhuǎn)換至[可運行狀態(tài)]
與[可運行狀態(tài)]的區(qū)別是,對[阻塞狀態(tài)]的線程來說只要它們一-直不喚醒,調(diào)度器就-直不會考慮調(diào)度它們
?
[終止狀態(tài)]
表示線程已經(jīng)執(zhí)行完畢,生命周期已經(jīng)結(jié)束,不會再轉(zhuǎn)換為其它狀態(tài)
?
總結(jié)
以上是生活随笔為你收集整理的从操作系统层面描述线程的五种状态的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DDNS(花生壳)
- 下一篇: 2ask信号调制与解调 matlab,2