Java多线程通信

时间:2016-07-05 04:03:28

标签: java multithreading

我正在学习Java中的多线程通信。我遇到了一个问题:

有四个线程T1,T2,T3和T4。所有这些线程都在运行,条件为'C'。每当这四个线程中的任何一个首先到达那里时,它将等待另外三个线程。

例如,如果线程T2遇到条件“C”,它将等待线程T1,T3和T4,除非它们也达到条件“C”。然后所有线程将重新开始。

如果您需要更多详细信息,请告知我们。非常感谢您的帮助。感谢。

2 个答案:

答案 0 :(得分:1)

CyclicBarrier做你想要的。只需使用线程数初始化它,并在每个线程的会合点调用await()

答案 1 :(得分:0)

您可以使用threadSafe对象来共享信息,例如ConcurrentHashMap.Or您可以通过简单的静态数组进行共享,有很多方法可以做到这一点。