W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---ohos.utils.ConditionHelper
public class ConditionHelper
extends Object
一個幫助類,用于使用 java.util.concurrent.locks 包中內(nèi)置的 Condition 類,而不處理 Lock 和 java.lang.InterruptedException 異常。
ConditionHelper 對象提供用于掛起線程(使其等待)或喚醒等待線程的接口。 它支持無限等待或定時等待。 線程在被喚醒或經(jīng)過指定的等待時間后才會退出等待狀態(tài)。
使用 ConditionHelper 類時要注意以下幾點:
構(gòu)造函數(shù) | 描述 |
---|---|
ConditionHelper() | 用于創(chuàng)建具有默認(rèn)喚醒狀態(tài) false 的 ConditionHelper 實例的構(gòu)造函數(shù)。 |
ConditionHelper(boolean isWakeup) | 用于創(chuàng)建具有指定喚醒狀態(tài)的 ConditionHelper 實例的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | await() | 掛起當(dāng)前線程,直到它被喚醒。 |
boolean | await(long awaitMs) | 暫停當(dāng)前線程,直到它被喚醒或等待時間過去。 |
void | resetCondition() | 將喚醒狀態(tài)重置為 false,然后您可以調(diào)用 await()。 |
void | wakeup() | 喚醒當(dāng)前對象的線程并將其喚醒狀態(tài)設(shè)置為 true。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public ConditionHelper()
用于創(chuàng)建具有默認(rèn)喚醒狀態(tài) false 的 ConditionHelper 實例的構(gòu)造函數(shù)。
public ConditionHelper(boolean isWakeup)
用于創(chuàng)建具有指定喚醒狀態(tài)的 ConditionHelper 實例的構(gòu)造函數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
isWakeup | 指示要設(shè)置的喚醒狀態(tài)。 true表示線程被喚醒,false表示線程未被喚醒。 |
public void wakeup()
喚醒當(dāng)前對象的線程并將其喚醒狀態(tài)設(shè)置為 true。
如果沒有調(diào)用resetCondition()重置喚醒狀態(tài),下次調(diào)用await()或await(long awaitMs)方法時會立即返回執(zhí)行結(jié)果。
public void resetCondition()
將喚醒狀態(tài)重置為 false,然后您可以調(diào)用 await()。
public void await()
掛起當(dāng)前線程,直到它被喚醒。
如果對象的喚醒狀態(tài)為 true,則立即返回該方法的執(zhí)行結(jié)果。
如果發(fā)生 java.lang.InterruptedException 異常,當(dāng)前線程繼續(xù)等待,直到被喚醒。 喚醒后,可以使用 Thread.currentThread().isInterrupted() 來檢查線程是否被中斷。
public boolean await(long awaitMs)
暫停當(dāng)前線程,直到它被喚醒或等待時間過去。
如果對象的喚醒狀態(tài)為 true,則立即返回該方法的執(zhí)行結(jié)果。
如果發(fā)生 java.lang.InterruptedException 異常,當(dāng)前線程繼續(xù)等待。 線程被喚醒或等待時間過去后,可以使用 Thread.currentThread().isInterrupted() 來檢查線程是否被中斷。
請注意,此方法無法確保精確的時序,因為它使用系統(tǒng)時鐘。 如果系統(tǒng)時鐘發(fā)生變化,可能會影響時序精度。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
awaitMs | 表示等待時間,以毫秒為單位。 如果此參數(shù)設(shè)置為 0,則線程保持等待。 |
返回:
如果線程等待被喚醒,則返回 true; 如果線程一直等到等待時間過去,則返回 false。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: