關於線程間的協作快速記憶

在說線程間的協作之前,先了解線程的幾個狀態,所謂協作就是改變線程的狀態,Java中線程中狀態可分爲五種:New(新建狀態),Runnable(就緒狀態),Running(運行狀態),Blocked(阻塞狀態),Dead(死亡狀態)。

歸屬於object的三個方法:wait/notify/notifyAll

notify/notifyAll最主要的區別:前者喚醒一個等待線程,後者喚醒所有線程

歸屬於Thread的三個方法:sleep/yield/join

wait和sleep的區別除了歸屬不一樣,最主要的是前者釋放鎖,後者不釋放

yield,它是個謙謙君子,最主要的功用就是謙讓,然後再公平獲取鎖資源

join,它就是等待其他線程結束,自己再繼續操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章