【发布时间】:2011-11-28 09:26:29
【问题描述】:
我正在创建一个阅读器应用程序。读取器根据参数识别出要读取的文件,做一些处理并将结果返回给调用者。
我正在尝试使这个多线程,以便可以处理多个请求。我认为这很简单,但后来意识到它有一些复杂性。即使我使用执行器服务创建线程,我仍然需要将结果返回给调用者。所以这意味着等待线程执行。
我能想到的唯一方法是写入某个公共位置或数据库,然后让调用者从那里选择结果。有什么办法可以吗?
【问题讨论】:
-
当提交到执行器服务时,你会得到一个未来,你为什么不等待它完成呢?
-
谢谢Thomas,但这意味着这个过程需要等待Future的结果。
-
因此您必须对来自进程的请求进行多线程处理。你从哪里得到它们? RPC/RMI/套接字?如果你能显示一些代码会很棒;)
-
“调用者”和工作线程之间的预期交互是什么?您似乎在表明调用者是异步的,即它提交请求并稍后轮询结果?
-
调用将跨套接字。还没写代码。还在设计中:)
标签: java concurrency