首页 > 解决方案 > 查看 Future 被取消的堆栈吗?

问题描述

invokeAll(callables, 30, TimeUnit.SECONDS);用来发送一堆异步线程的垃圾邮件,然后我List<Future<Result>>查看哪些已完成,获取它们的结果,哪些因超时而被取消。

但是,我真的很想知道取消时代码在哪里。我的线程没有及时完成,而且我很难弄清楚它们卡在哪里(每个 Callable 都会做很多事情)。

有没有办法在 Future 被取消时获取代码行或堆栈?不是我可以在 Future 中看到,但也许其他一些辅助帮助类可以帮助我追踪到哪里?否则,我会回到老派,到处乱扔调试日志行。

使用 Java 11。

标签: java

解决方案


推荐阅读