Wait概述是什麼
wait英語中有等待的意思,在計算機領域它還是一種Java術語,C語言中也有wait命令。那麼網友們知道Wait概述是什麼嗎?下面一起來了解一下吧。
1、public final voidwaitthrowsInterruptedException在其他線程調用此對象的notify方法或notifyAll方法前,導致當前線程等待。換句話説,此方法的行為就好像它僅執行wait調用一樣。當前線程必須擁有此對象監視器。該線程發佈對此監視器的所有權並等待,直到其他線程通過調用notify方法,或notifyAll方法通知在此對象的監視器上等待的線程醒來。然後該線程將等到重新獲得對監視器的所有權後才能繼續執行。對於某一個參數的版本,實現中斷和虛假喚醒是可能的,而且此方法應始終在循環中使用:synchronized(obj){while(conditiondoesnothold)obj。wait;拋出:IllegalMonitorStateException-如果當前線程不是此對象監視器的所有者。InterruptedException-如果在當前線程等待通知之前或者正在等待通知時,任何線程中斷了當前線程。在拋出此異常時,當前線程的中斷狀態被清除。
2、當前線程必須擁有此對象監聽器。此方法導致當前線程(稱之為T)將其自身放置在對象的等待集中,然後放棄此對象上的所有同步要求。出於線程調度目的,在發生以下四種情況之一前,線程T被禁用,且處於休眠狀態:其他某個線程調用此對象的notify方法,並且線程T碰巧被任選為被喚醒的線程。
3、大約已經到達指定的實際時間。但是,如果timeout為零,則不考慮實際時間,在獲得通知前該線程將一直等待。
4、然後,從對象的等待集中刪除線程T,並重新進行線程調度。然後,該線程以常規方式與其他線程競爭,以獲得在該對象上同步的權利;一旦獲得對該對象的控制權,該對象上的所有其同步聲明都將被恢復到以前的狀態,這就是調用wait方法時的情況。然後,線程T從wait方法的調用中返回。所以,從wait方法返回時,該對象和線程T的同步狀態與調用wait方法時的情況完全相同。在沒有被通知、中斷或超時的情況下,線程還可以喚醒一個所謂的虛假喚醒(spurious wakeup)。雖然這種情況在實踐中很少發生,但是應用程序必須通過以下方式防止其發生,即對應該導致該線程被提醒的條件進行測試,如果不滿足該條件,則繼續等待。
以上就是對於Wait概述是什麼的相關內容。
-
堂屋可以放什麼花
人人皆知,在中國農村裏,堂屋可以説是整個家庭最重要的一個組成部分。由於堂屋是用來款待來客的,而且再加上農村人十分的注重一些風俗禮節,所以堂屋內的擺設也相當講究。那麼堂屋可以放什麼花呢?下面一起來看看。1、農村堂屋擺放容易枯萎的植物。有的時候,由於堂屋主...
-
1歲寶寶輔食做法是什麼
對於很多新手媽媽而言,對孩子餵食輔食這種事情並不是很瞭解,那麼下面我向新手媽媽們分享一個1歲寶寶輔食做法,那就是胡蘿蔔山藥粥,做法很簡單,而且十分適合寶寶食用。1、排骨過水,去味去血水,燒好熱水入生薑備用,放入已過水的排骨,加入食鹽,大火燒開後,轉文火慢燉30分鐘左...
-
保長是什麼職務
在以前有一種職務叫做保長,不過現在已經是沒有保長的職務,那麼在以前保長這個職務到底是什麼意思呢?對於不知情的網友們,那麼下面小編帶領各位來了解一下吧。1、保長即村長,一保約為一百户上下,只能稱為職役,而不是官,過去户可不是現在的户口一家三口,大户人家幾十口人...
-
研究生報名如何確認成功
一個國家,教育是十分重要的,人們總體素質的提升,離不開教育。國家的發展,也需要人才,所以我們都會上學接受教育。為了追求更高的學歷,有的人選擇了當上研究生。那麼研究生報名如何確認成功呢?請看下面方法。1、考研報名工作仍採用網上報名與現場確認相結合的方式。所...