Java 多线程 lock condition问题,3个线程循环打印ABCABCABC..._百度知...

发布网友 发布时间:2022-04-25 05:02

我来回答

2个回答

热心网友 时间:2023-01-25 04:23

你这程序运算出来只有三种答案:A,AB,ABC。
说下输出A的例子:
这种情况是Thread(b)和Thread(c)先执行后,都会wait等待,而Thread(a)线程后执行时,会唤醒new Thread(a).condition_B.signal();但是与Thread(b).condition_B无关。所有此时三组线程全部等待。

解决办法就是static condition_B,共享数据condition_B。

热心网友 时间:2023-01-25 05:41

如果开始进去的是A,你运行到第一个地方的时候,直接挂起了,也没唤醒其他的线程,就死锁了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com