勵志

勵志人生知識庫

wait方法

wait()方法是Java中的一個重要方法,主要用於執行緒間的協調和同步。當某個執行緒執行到某個對象的wait()方法時,它會釋放該對象的鎖,並進入等待池,等待其他執行緒的喚醒。

wait()方法有三種重載形式:

void wait(): 無參數形式,使執行緒無限期等待,直到其他執行緒調用該對象的notify()或notifyAll()方法,或者發生異常退出。

void wait(long timeout): 帶有一個長整型參數,指定執行緒最多等待的時間(以毫秒為單位),如果到了時間還沒有被其他執行緒喚醒,則該方法返回,執行緒繼續往下執行。

void wait(long timeout, int nanos): 帶有一個長整型參數和一個整型納米秒參數,指定執行緒最多等待的時間(以毫秒和納秒為單位),如果到了時間還沒有被其他執行緒喚醒,則該方法返回,執行緒繼續往下執行。

需要注意的是,wait()方法必須在同步方法或同步代碼塊中調用,這是因為wait()方法會釋放鎖,而只有對象鎖才能保證執行緒安全。調用wait()方法後,執行緒會進入等待狀態,直到其他執行緒調用該對象的notify()或notifyAll()方法喚醒它。