我是比较新的使用Java多线程和并发工具。我正在实施一个包含活动制作人的应用程序(我们称之为EventProducer
)。 EventProducer
有一个线程池FixedThreadPool
,其中每个要处理的事件都有一个新线程被发送,向线程池提交一个新的EventProcessor
线程。Java多线程通信
这样就行了,池中的线程正在为每个事件创建。但问题是,我想通过线程(这是针对每个事件请求)与两个应该是应用程序范围的线程通信EventProcessor
,我的意思是,在应用程序中只有它们的一个实例,比如Service1
和Service2
。它们都有线程池,可以同时处理任务。
该特定EventProcessor
将任务组发送到Service1
并且它返回每个任务的响应。对于这种回应,我寻找CompletionService,但我不知道如何将它与Blocking queues集成进行双向通信。之后,根据该响应,EventProcessor
发送一个或另一个动作以在Service2
中执行。 Service2
也会向EventProcessor
发送有关该操作的响应。
有人知道我该如何解决这个问题?我需要一个介绍才能实现第一步。汇集你的想法。
@ jtahlborn,您的评论并没有真正为他/她的问题添加任何价值! – 2013-02-18 16:44:24
@jtahlborn我一直在看几个小时的例子,我试着让我的问题具体到足以写在这里。 – 2013-02-18 16:47:37
@ user717630其实,它是。 OP想要为每个事件创建新线程。他的线程Service1和Service2有线程池。所以也许他在这里混淆了一些术语。 – 2013-02-18 16:49:14