1. 程式人生 > >多線程有幾種實現方法?同步有幾種實現方法?(被問到)

多線程有幾種實現方法?同步有幾種實現方法?(被問到)

所有 正在 () read 異常 同步 -h 競爭 sync

多線程有兩種實現方法,分別是繼承Thread類與實現Runnable接口

同步的實現方面有兩種,分別是synchronized,wait與notify

wait():使一個線程處於等待狀態,並且釋放所持有的對象的lock。

sleep():使一個正在運行的線程處於睡眠狀態,是一個靜態方法,調用此方法要捕捉InterruptedException異常。

notify():喚醒一個處於等待狀態的線程,註意的是在調用此方法的時候,並不能確切的喚醒某一個等待狀態的線程,而是由JVM確定喚醒哪個線程,而且不是按優先級。

Allnotity():喚醒所有處入等待狀態的線程,註意並不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

多線程有幾種實現方法?同步有幾種實現方法?(被問到)