java 多线程死循环怎么动态传参?急!

现在有2个线程,都是while(true){}的死循环嵌套的,我想把thread1的动态参数传到thread2里面去,但是thread2只启动一次(thread2是只st... 现在有2个线程,都是while(true){}的死循环嵌套的, 我想把thread1的动态参数传到thread2里面去,但是thread2只启动一次(thread2是只start()一次的线程,执行死循环), 求大神帮忙! 展开
 我来答
果爸老石
2016-06-01 · TA获得超过813个赞
知道小有建树答主
回答量:538
采纳率:75%
帮助的人:174万
展开全部
用继承的方式实现Thread类,取名MyThread,在MyThread里面加一个属性 private Thread otherThread;并且给get,set方法.
在run方法里面的死循环中判断,if(otherThread!=null){取你要的参数};
这样一来,在new完thread1和thread2之后,调用thread2.setOtherThread(thread1);
然后再去start.
当然,还要给MyThread加一些属性存放你要传递的参数,在thread1的死循环里操作这些属性.
追问
能详细点吗。没太听懂,大神!
追答
按照上面说的一步一步做就行了,心没有静下来.
核心就是在线程类里面加属性来存另一个线程,创建线程2的时候,把线程1设置到线程2的这个属性里,这样在线程2里就可以取到线程1以及线程1的属性了.
农家小腊肉
2016-06-01 · 超过16用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:15.9万
展开全部
在thread2的类里定义个成员变量,把thread1的参数赋值给成员变量
追问
试过的,不行,2个线程是2个死循环,都是while(true){} 的 而且thread2只启动一次,传进的参数是无效的,参数值永远是第一次启动thread2的时候的初始参数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林越洋
2016-06-01 · 超过13用户采纳过TA的回答
知道答主
回答量:48
采纳率:100%
帮助的人:16.5万
展开全部
建立同步变量,通过变量传递。
追问
试过的,不行,2个线程是2个死循环,都是while(true){} 的 而且thread2只启动一次,传进的参数是无效的,参数值永远是第一次启动thread2的时候的初始参数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式