Java里如何暂停一个线程,达到一定条件后又唤醒线程?

RT。最好是具体有针对性的代码……谢谢!... RT。
最好是具体有针对性的代码……
谢谢!
展开
 我来答
匿名用户
2010-05-12
展开全部
thread1{
run() {
synchronized(obj) {
while(条件1不满足)obj.wait();
//下面写满足后的操作
}
}
}

//线程2中将条件1满足,然后唤醒线程1
thread2{
run() {
synchronized(obj) {
//使条件1满足
obj.notifyAll();
}
}
}

obj一定要是对同一个对象的引用
邰智滕新冬
2019-11-28 · TA获得超过1064个赞
知道小有建树答主
回答量:1424
采纳率:100%
帮助的人:6.2万
展开全部
java使用单纯的wait/notify是无法唤醒指定线程的
一般的做法是修改一个特定标识,然后notifyall,被唤醒的线程查看该标识是否指定自己处理,是就运行下去,不是就继续wait
还有一种做法是针对每一个线程做一个wait
object,要唤醒哪一个就notify哪一个object就行了,但是能不能这样做去取决于你的业务需求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
二牛资讯
2010-05-12 · TA获得超过736个赞
知道小有建树答主
回答量:631
采纳率:50%
帮助的人:562万
展开全部
Thread t=Thread.currentThread;
t.sleep(long timeout);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式