Java:创建多线程阅读器

标签 java concurrency

我正在创建一个阅读器应用程序。读取器根据参数识别读取哪个文件,进行一些处理,并将结果返回给调用者。

我正在尝试使它成为多线程的,以便可以处理多个请求。我认为这很简单,但后来意识到它有一些复杂性。即使我使用执行程序服务创建线程,我仍然需要将结果返回给调用者。所以这意味着等待线程执行。

我能想到的唯一方法是写入一些公共(public)位置或数据库,让调用者从那里选择结果。有什么可行的方法吗?

最佳答案

也许 ExecutorCompletionService 可以帮助您。提交的任务在完成后被放置在队列中。您可以使用 take 或 poll 方法,具体取决于您是否要等待任务在完成队列中可用。

ExecutorCompletionService javadoc

关于Java:创建多线程阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7609408/

相关文章:

python - threading.Condition 与 threading.Event

database - 用于/真正/分布式副本的 couchdb

java - 防止tomcat在每次java更新时崩溃

multithreading - 为什么本地创建的结构不能发送到另一个线程?

java - 在Java中对对象进行递归的有效方法?

java - 异常没有被它的 catch block 捕获,然后该方法抛出另一种异常

concurrency - 如何一步步用Jmeter做压力测试

sql-server-2008 - 在 SQL Server 中生成订单号的正确方法

java - 无法连接到 red5 应用程序

javascript - 如何以编程方式在任何浏览器中禁用 "Save Password"通知?