您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關java中wait的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。
1.說明
調用wait()方法后,線程會放到等待池當中,等待池的線程是不會去競爭同步鎖。只有調用了notify()或notifyAll()后等待池的線程才會開始去競爭鎖
2.語法
public final void wait()
3.參數
無
4.返回值
沒有返回值。
5.使用注意
(1)必須在synchronized 修飾的同步代碼塊中調用
(2)會釋放cpu資源和釋放同步鎖(類鎖和對象鎖)
(3)調用wait()后必須調用notify()或notifyAll()后線程才會從等待池進入到鎖池,當我們的線程競爭得到同步鎖后就會重新進入緒狀態等待cpu資源分配
(4)是Object類的方法
6.實例
/** * 當前線程必須是該對象鎖的擁有者 * * @param timeout 要等待的最長時間 如果timeout為0,則必須被notify喚醒 * @throws IllegalArgumentException 如果超時值是負數,或者不在0-999999范圍內 * @throws IllegalMonitorStateException 如果當前線程不是此對象鎖的所有者 * @throws InterruptedException 如果當前線程等待通知之前或者正在等待通知時,任何線程中斷了當前線程,拋出該異常并解除線程的中斷狀態 */ public final native void wait(long timeout) throws InterruptedException; /** * @param timeout 毫秒 * @param nanos 微毫秒 */ public final void wait(long timeout, int nanos) throws InterruptedException { if (timeout < 0) { throw new IllegalArgumentException("timeout value is negative"); } if (nanos < 0 || nanos > 999999) { throw new IllegalArgumentException( "nanosecond timeout value out of range"); } if (nanos > 0) { timeout++; } wait(timeout); } public final void wait() throws InterruptedException { wait(0); }
以上就是java中wait的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。