什么导致线程阻塞
阻塞狀態的線程的特點是:該線程放棄CPU的使用,暫停運行,只有等到導致阻塞的原因消除之后才恢復運行。或者是被其他的線程中斷,該線程也會退出阻塞狀態,同時拋出InterruptedException
1)線程執行了Thread.sleep(intmillsecond);方法,當前線程放棄CPU,睡眠一段時間,然后再恢復執行
2)線程執行一段同步代碼,但是尚且無法獲得相關的同步鎖,只能進入阻塞狀態,等到獲取了同步鎖,才能回復執行。
3)線程執行了一個對象的wait()方法,直接進入阻塞狀態,等待其他線程執行notify()或者notifyAll()方法。
4)線程執行某些IO操作,因為等待相關的資源而進入了阻塞狀態。比如說監聽system.in,但是尚且沒有收到鍵盤的輸入,則進入阻塞狀態。
總結
- 上一篇: string stringbuffer
- 下一篇: 战神z7怎么进去启动盘 如何制作战神z7