gpt4 book ai didi

java - 卡在 threadpoolexecutor 中的可运行程序会发生什么?

转载 作者:行者123 更新时间:2023-12-01 19:15:53 25 4
gpt4 key购买 nike

如果一个可运行对象在线程池执行器中运行时挂起,有没有办法找出它已挂起并杀死该可运行对象? getActiveCount 方法是否会将挂起的可运行对象视为“正在主动执行”?

最佳答案

没有安全的方法来杀死繁忙的线程(除了在另一个进程中运行它并杀死它之外)您可以通过超时等待结果来检测线程是否花费了很长时间。您还可以添加一个任务以在超时后取消该任务,但这只会中断线程的任务,而不会杀死它。

您最好确定任务“挂起”的原因并修复代码,以免任务“挂起”。

当你启动一个任务时,你存储的 Thread.currentThread() 是一个共享变量。然后,您可以定期使用 getStackTrace() 来确定它正在做什么并记录下来。

关于java - 卡在 threadpoolexecutor 中的可运行程序会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714322/

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