什麼是執行緒阻塞

  • 作者:由 匿名使用者 發表于 歷史
  • 2022-10-28

什麼是執行緒阻塞learnok 推薦於2017-11-23

執行緒A等待執行緒B的資料,執行緒B等待執行緒A的資料,互相等待,就會陷入阻塞,這也是一種執行緒阻塞。

阻塞狀態是正在執行的執行緒遇到某個特殊情況。例如,延遲、掛起、等待I/O操作完成等。 進入阻塞狀態的執行緒讓出CPU,並暫時停止自己的執行。執行緒進入阻塞狀態後,就一直等待,直到引起阻塞的原因被消除,執行緒又轉入就緒狀態,重新進入就緒佇列排隊。

什麼是執行緒阻塞騰訊電腦管家 2018-07-05

一個執行緒都要從執行到結束都要經過3個階段:

1、正在執行

2、準備結束執行

3、結束執行

可以透過下面這三個方法結束一個執行緒。

1、使用stop()方法強制結束執行緒。

2、使用thread。interrupt()方法傳送中斷。

3、在Thread物件中設定共享變數,透過在run方法中不斷檢測該變數的值來決定是否結束。

什麼是執行緒阻塞灬藍色丿風之翼 2017-12-13

阻塞狀態的執行緒的特點是:該執行緒放棄CPU的使用,暫停執行,只有等到導致阻塞的原因消除之後才回復執行。

導致阻塞的原因:

A、執行緒執行了Thread。sleep(int millsecond);方法,當前執行緒放棄CPU,睡眠一段時間,然後再恢復執行

B、執行緒執行一段同步程式碼,但是尚且無法獲得相關的同步鎖,只能進入阻塞狀態,等到獲取了同步鎖,才能回覆執行。

C、執行緒執行了一個物件的wait()方法,直接進入阻塞狀態,等待其他執行緒執行notify()或者notifyAll()方法。

D、執行緒執行某些IO操作,因為等待相關的資源而進入了阻塞狀態。比如說監聽system。in,但是尚且沒有收到鍵盤的輸入,則進入阻塞狀態。

Top