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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java wait方法_java wait方法

發(fā)布時間:2024/9/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java wait方法_java wait方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

wait方法是讓當(dāng)前線程等待,這里的當(dāng)前線程不是指t,而是主線程。 wait會釋放鎖,等到其他線程調(diào)用notify方法時再繼續(xù)運行。

可以看下面的例子。

1 package com.citi.test.mutiplethread.demo0503;

2

3 import java.util.Date;

4

5 public class WaitTest {

6 public static void main(String[] args) {

7 ThreadA t1=new ThreadA("t1");

8 System.out.println("t1:"+t1);

9 synchronized (t1) {

10 try {

11 //啟動線程

12 System.out.println(Thread.currentThread().getName()+" start t1");

13 t1.start();

14 //主線程等待t1通過notify喚醒。

15 System.out.println(Thread.currentThread().getName()+" wait()"+ new Date());

16 t1.wait();// 不是使t1線程等待,而是當(dāng)前執(zhí)行wait的線程等待

17 System.out.println(Thread.currentThread().getName()+" continue"+ new Date());

18 } catch (Exception e) {

19 e.printStackTrace();

20 }

21 }

22 }

23 }

24

25 class ThreadA extends Thread{

26 public ThreadA(String name) {

27 super(name);

28 }

29 @Override

30 public void run() {

31 synchronized (this) {

32 System.out.println("this:"+this);

33 try {

34 Thread.sleep(2000);//使當(dāng)前線程阻塞1秒

35 } catch (InterruptedException e) {

36 // TODO Auto-generated catch block

37 e.printStackTrace();

38 }

39 System.out.println(Thread.currentThread().getName()+" call notify()");

40 this.notify();

41 }

42 }

43 }

下面是執(zhí)行結(jié)果。

可以看到synchronized(this),和synchronized(t1), 鎖的是同一個對象。

這個程序有兩個線程,一個是主線程main,一個是線程t1,所以會有鎖的競爭,因為是main方法先運行到第9行,所以先獲取到鎖。

這樣就導(dǎo)致了32行到40行的代碼必須在main主線程釋放鎖的時候才運行,而t1.await()就釋放了鎖,所以我們看執(zhí)行結(jié)果。

32行在15行之后執(zhí)行。

17行會等待t1線程執(zhí)行完畢調(diào)用notify之后再執(zhí)行。

這里就說明了,

在代碼中t1.await(),是讓運行這行代碼的線程等待,而不是讓t1這個線程等待。

總結(jié)

以上是生活随笔為你收集整理的java wait方法_java wait方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。