发布网友 发布时间: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,你运行到第一个地方的时候,直接挂起了,也没唤醒其他的线程,就死锁了