栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用线程奇数打印

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用线程奇数打印

您正在等待并通知其他对象( 监视器 )。

这个想法是,你在做和

obj.wait()
做的
obj.notify()
时候可以打电话等待一个人做。
objA.wait()``objB.notify()

将您的

printOdd
方法更改为类似

private void printOdd(int i) {    synchronized (lock) {  // <-------        while (!oddTurn) { try {     lock.wait();          // <------- } catch (InterruptedException e) {     e.printStackTrace(); }        }        System.out.println(type + i);        oddTurn = false;        lock.notifyAll();  // <-------    }}

printEven
方法类似。

然后为提供

NumberPrinter
一个
lock
对象:

Object lock = new Object();Thread odd = new Thread(new NumberPrinter("odd", lock));Thread even = new Thread(new NumberPrinter("even", lock));

输出:

odd1even2odd3even4odd5even6odd7even8odd9


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号