何為線程掛起

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

摘自網絡。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 又來到了一個老生常談的問題,應用層軟件開發的程序員要不要了解和深入學習操作系統呢? 今天就這個問題開始,來談談操...
    tangsl閱讀 4,162評論 0 23
  • 一、多線程 說明下線程的狀態 java中的線程一共有 5 種狀態。 NEW:這種情況指的是,通過 New 關鍵字創...
    Java旅行者閱讀 4,721評論 0 44
  • 今天小寶作業完成得早,正好家也沒有醋了,于是提議去超市買醋。 來到超市,拿了瓶醋,準備結賬走人。 看她在那認真看著...
    阿拉蕾來自火星閱讀 377評論 0 0
  • 好多人說現在好多所謂的亞健康,時代病,比方說抑郁,都來自五谷不分,四肢不勤。 是啊,老實說,你從學校畢業之后,運動...
    清風少華閱讀 563評論 2 7
  • 請原諒,我的不告而別 榕江 我從黑夜里來 要在天沒亮之前 離開 我不想驚擾你的夢和睡眠 你夢里的山水真實而大美 夢...
    夢子安閱讀 162評論 0 4