多线程之间的通信

时间:2015-02-16 22:03:50

标签: java multithreading messaging

我有特定的线程数,比如5个线程:A,B,C,D和E.

我想知道在这些线程之间设计通信接口的具体方法是什么,以便接收方线程可以区分来自不同发送方的消息。 此外,每个线程还应该能够向自己发送消息。

例如,我可以将每个线程设计为具有多个BlockingQueues,每个线程一个?此外,每个线程都有一个接收器列表,它可以发送消息给?是推荐吗?

在java中实现这个的最佳/合理方法是什么?

1 个答案:

答案 0 :(得分:1)

您希望每个线程之间都有一个消息传递接口。我将通过首先创建消息传递接口,然后构造线程A的类和线程B的类并将接口作为参数传递给两者来构造程序。然后启动线程。

对于java,TransferQueue类看起来是个不错的选择。如果您不需要它的某些功能,也可以使用ConcurrentLinkedList。使用两个进行双向通信。