我正在创建一个阅读器应用程序。读取器根据参数识别读取哪个文件,进行一些处理,并将结果返回给调用者。
我正在尝试使它成为多线程的,以便可以处理多个请求。我认为这很简单,但后来意识到它有一些复杂性。即使我使用执行程序服务创建线程,我仍然需要将结果返回给调用者。所以这意味着等待线程执行。
我能想到的唯一方法是写入一些公共(public)位置或数据库,让调用者从那里选择结果。有什么可行的方法吗?
最佳答案
也许 ExecutorCompletionService 可以帮助您。提交的任务在完成后被放置在队列中。您可以使用 take 或 poll 方法,具体取决于您是否要等待任务在完成队列中可用。
关于Java:创建多线程阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7609408/