海詩網(wǎng) 知識百科 java(java入門零基礎(chǔ))

java(java入門零基礎(chǔ))

java, presentation

Condition只出現(xiàn)在java1.5中,主要用來代替?zhèn)鹘y(tǒng)的對象的wait()和notify()實現(xiàn)線程間的協(xié)作。與對象的wait()和notify()相比,

使用條件的await()和signal()來實現(xiàn)線程間的協(xié)作會更加安全高效。

所以一般建議使用Condition,阻塞隊列實際上是用Condition來模擬線程間的協(xié)作。

Condition實際上是一個接口,基本方法是await()和signal()。

條件依賴于鎖接口,生成條件的基本代碼,即lock.newCondition()。

如果要調(diào)用條件的await()和signal()方法,必須用lock保護,也就是說必須在lock.lock()和lock.unlock之間使用。

java入門零基礎(chǔ)

描述:

1. The wait () in the condition corresponds to the wait () of the target;

2. The signal () in the condition corresponds to the notify () of the target;

3. All signals in the condition () correspond to the notifyAll () of the target.

需要注意的是,條件的執(zhí)行方式是,在線程消費者中調(diào)用await方法時,線程消費者會釋放鎖,自己休眠,等待被喚醒,線程生產(chǎn)者獲得鎖后,

它會開始運行,運行完畢后會調(diào)用條件的signalall方法喚醒線程消費者,線程消費者就可以恢復(fù)執(zhí)行了。

java,以上就是本文為您收集整理的java最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。

本文來自網(wǎng)絡(luò),不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/170063.html
      

java(java編程學(xué)習(xí)入門)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部