何為線程掛起

線程是靠cpu來運(yùn)行的,cpu要運(yùn)行一個(gè)線程就要占用cpu時(shí)間,像Windows這樣的多任務(wù)操作系統(tǒng),可以允許多個(gè)線程同時(shí)運(yùn)行,所謂的同時(shí)運(yùn)行并不是真正的同時(shí)運(yùn)行,而是輪流運(yùn)行不同的線程,因?yàn)閏pu速度很快,如果線程不是很多,就會(huì)給用戶有所有線程在同時(shí)運(yùn)行的錯(cuò)覺。舉個(gè)例子,系統(tǒng)中有10個(gè)線程要運(yùn)行,如果要求在1秒內(nèi)所有的線程都運(yùn)行一遍,則每個(gè)線程可運(yùn)行時(shí)間為10分之一秒,也就是如果一個(gè)線程已經(jīng)運(yùn)行了10分之一秒,系統(tǒng)會(huì)停止該線程(或稱為掛起該線程),運(yùn)行下一個(gè)線程,當(dāng)又輪到掛起的線程運(yùn)行時(shí),系統(tǒng)會(huì)從該線程停止的地方運(yùn)行,這種線程掛起是由系統(tǒng)進(jìn)行的,即所謂的線程調(diào)度。有時(shí)候,我們的線程暫時(shí)沒有數(shù)據(jù)處理,我們也可以通過一些API來使自己的線程掛起,當(dāng)系統(tǒng)檢測到線程被用戶掛起時(shí),就算輪到該線程系統(tǒng)也不會(huì)運(yùn)行該線程,而是直接去運(yùn)行下一個(gè)線程,這種情況下,除非用戶使該線程退出掛起狀態(tài),否則系統(tǒng)不會(huì)運(yùn)行該線程。從這個(gè)意義上來講,一個(gè)線程掛起將會(huì)給其他線程贏得更多的運(yùn)行時(shí)間(或機(jī)會(huì)),也就節(jié)約了CPU的時(shí)間資源。

摘自網(wǎng)絡(luò)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 又來到了一個(gè)老生常談的問題,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個(gè)問題開始,來談?wù)劜?..
    tangsl閱讀 4,329評論 0 23
  • 一、多線程 說明下線程的狀態(tài) java中的線程一共有 5 種狀態(tài)。 NEW:這種情況指的是,通過 New 關(guān)鍵字創(chuàng)...
    Java旅行者閱讀 4,871評論 0 44
  • 今天小寶作業(yè)完成得早,正好家也沒有醋了,于是提議去超市買醋。 來到超市,拿了瓶醋,準(zhǔn)備結(jié)賬走人。 看她在那認(rèn)真看著...
    阿拉蕾來自火星閱讀 469評論 0 0
  • 好多人說現(xiàn)在好多所謂的亞健康,時(shí)代病,比方說抑郁,都來自五谷不分,四肢不勤。 是啊,老實(shí)說,你從學(xué)校畢業(yè)之后,運(yùn)動(dòng)...
    清風(fēng)少華閱讀 619評論 2 7
  • 請?jiān)彛业牟桓娑鴦e 榕江 我從黑夜里來 要在天沒亮之前 離開 我不想驚擾你的夢和睡眠 你夢里的山水真實(shí)而大美 夢...
    夢子安閱讀 210評論 0 4

友情鏈接更多精彩內(nèi)容