【Java 多線程併發】線程的基本方法

線程相關的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。

1.線程等待(wait)

調用該方法的線程進入 WAITING 狀態,只有等待另外線程的通知或被中斷纔會返回,需要注意的是調用 wait() 方法後,會釋放對象的鎖。因此,wait 方法一般用在同步方法或同步代碼塊中。

2.線程睡眠(sleep)

sleep 導致當前線程休眠,與 wait 方法不同的是 sleep 不會釋放當前佔有的鎖,sleep(long)會導致線程進入 TIMED-WATING 狀態,而 wait() 方法會導致當前線程進入 WATING 狀態

3.線程讓步(yield)

yield 會使當前線程讓出 CPU 執行時間片,與其他線程一起重新競爭 CPU 時間片。一般情況下,優先級高的線程有更大的可能性成功競爭得到 CPU 時間片,但這又不是絕對的,有的操作系統對線程優先級並不敏感。

4.線程中斷(interrupt)

中斷一個線程,其本意是給這個線程一個通知信號,會影響這個線程內

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