【发布时间】:2014-06-12 18:47:16
【问题描述】:
我有一个 ExecutorService 用于多线程处理某些文本,并且将应用于给定文本块的工作单元定义为我的 ParserCallable ,它返回一个 Payload。
所以我有一个 列表>列表;
通过将大量工作交给每个 ParserCallable 来填充。
我想在这个多线程环境中调试 ParserCallable,我不关心哪个,但我不确定如何从我的代码中步入任何 ParserCallable 的执行。
看起来像
List<Future<PayLoad>> list = new ArrayList<Future<PayLoad>>();
ExecutorService executor = Executors.newFixedThreadPool(25);
for (int i = 0; i < blocks_of_work.size(); i++) {
Callable<PayLoad> worker = new ParserCallable(blocks_of_work.get(i));
Future<PayLoad> submit = executor.submit(worker);
list.add(submit);
}
如何调试任何给定的 ParserCallable 以解决我遇到的一些错误?根据我的代码,我不确定如何进入这些可调用对象之一。
【问题讨论】:
标签: java multithreading debugging future executorservice