gpt4 book ai didi

java - 如何在返回 Futures 的 Java ExecutorService 中调试 Callable

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:21 24 4
gpt4 key购买 nike

我有一个 ExecutorService,用于对某些文本进行多线程处理,应用于给定文本 block 的工作单元被定义为返回有效负载的 ParserCallable。

所以我有一个 列表>列表;

通过将工作 block 交给每个 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,还没有。

关于java - 如何在返回 Futures 的 Java ExecutorService 中调试 Callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24191762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com