日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中的sleep()和wait()的区别

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的sleep()和wait()的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于sleep()方法,我們首先要知道該方法是屬于Thread類中的。而wait()方法,則是屬于Object類中的。

  sleep()方法導致了程序暫停執行指定的時間,讓出cpu該其他線程,但是他的監控狀態依然保持者,當指定的時間到了又會自動恢復運行狀態。

在調用sleep()方法的過程中,線程不會釋放對象鎖。

?

  而當調用wait()方法的時候,線程會放棄對象鎖(仍然持有資源),進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法后本線程才進入對象鎖定池準備獲取對象鎖進入運行狀態。

/*** */ package com.b510.test;/*** java中的sleep()和wait()的區別* @author Hongten* @date 2013-12-10*/ public class TestD {public static void main(String[] args) {new Thread(new Thread1()).start();try {Thread.sleep(5000);} catch (Exception e) {e.printStackTrace();}new Thread(new Thread2()).start();}private static class Thread1 implements Runnable{@Overridepublic void run(){synchronized (TestD.class) {System.out.println("enter thread1..."); System.out.println("thread1 is waiting...");try {//調用wait()方法,線程會放棄對象鎖,進入等待此對象的等待鎖定池TestD.class.wait();} catch (Exception e) {e.printStackTrace();}System.out.println("thread1 is going on ....");System.out.println("thread1 is over!!!");}}}private static class Thread2 implements Runnable{@Overridepublic void run(){
        //對TestD.class加鎖synchronized (TestD.
class) {System.out.println("enter thread2....");System.out.println("thread2 is sleep....");//只有針對此對象調用notify()方法后本線程才進入對象鎖定池準備獲取對象鎖進入運行狀態。TestD.class.notify();//==================//區別//如果我們把代碼:TestD.class.notify();給注釋掉,即TestD.class調用了wait()方法,但是沒有調用notify()//方法,則線程永遠處于掛起狀態。try {//sleep()方法導致了程序暫停執行指定的時間,讓出cpu該其他線程,//但是他的監控狀態依然保持者,當指定的時間到了又會自動恢復運行狀態。//在調用sleep()方法的過程中,線程不會釋放對象鎖。Thread.sleep(5000);} catch (Exception e) {e.printStackTrace();}System.out.println("thread2 is going on....");System.out.println("thread2 is over!!!");}}} }

?

總結

以上是生活随笔為你收集整理的java中的sleep()和wait()的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。