我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > Java技术星空(中国) > 为什么一个notify唤醒三个wait,大神看看
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

为什么一个notify唤醒三个wait,大神看看

44浏览 / 0回复

yichenglong

yichenglong

0
精华
2
帖子

等  级:Lv.1
经  验:9
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:贵州
  • 注  册:2012-10-20
  • 登  录:2014-12-10
发表于 2012-10-22 20:18:01
电梯直达 确定
楼主
为什么三个等待都被唤醒了,最后又程序文档class  Demo6{ public static void main(String[] args)  { Go1 q=new Go1(); Go2 qq=new Go2(q); Go3 qqq=new Go3(q); Come w=new Come(q);
q.start(); qq.start();  qqq.start(); w.start(); }}class Go1 extends Thread{ public void run() { synchronized (this) { System.out.println("1"); try { wait(); } catch (Exception e) { } } System.out.println("一"); } }class Go2 extends Thread{ Go1 g; Go2(Go1 g) { this.g=g; } public void run() { synchronized (g) { System.out.println("2"); try { g.wait(); } catch (Exception e) { } } System.out.println("二"); }}class Go3 extends Thread{ Go1 g; Go3(Go1 g) { this.g=g; } public void run() { synchronized (g) { System.out.println("3"); try { g.wait(); } catch (Exception e) { } } System.out.println("三"); }}class Come extends Thread { Go1 r;
Come(Go1 r) { this.r=r; } public void run() { try { sleep(100); } catch (Exception e) { } synchronized (r) { r.notify(); System.out.println("lock open"); } }}
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表