debug模式下线程ThreadPoolExecutor

 时间:2024-11-02 10:40:04

1、debug模式下启动项目时,发现线程经常会停在ThreadPoolExecutor$Worker.run()

2、这是因未捕获异常导致的。由于阻塞队列满了,所以pool-1-thread-2进入了等待状态,而由于pool幻腾寂埒-1-thread-2锁住了PrimeGeneratorForeverRun对象,所以pool-1-thread-1进入了阻塞状态,因此即使这时我们调用了PrimeGeneratorForeverRun.cancel()方法,也无法停止生成质素的循环,因为线程一个处于等待状态,一个处于阻塞状态,都不能取校验cancelled标志位,所以线程只能保持源状态继续,而守护线程中我们用的是shutdown,只要有线程在运行那么线程池就不会关闭,因此程序将一直运行。

3、可在eclipse中修改如下配置:

4、preferences-java-debug 下suspendexecution里面,把suspendexecutiononuncaughtexceptions勾掉

debug模式下线程ThreadPoolExecutor

5、preferences-java-debug-stepfiltering往里面加一个你不想断点的类或包,然后勾上,如下图:

debug模式下线程ThreadPoolExecutor
  • 在 Linux 平台上更改中文文本文件的字符编码
  • 如何使用Aqua Data Studio查看数据库引擎信息
  • 如何将select下拉框设置成readonly
  • el-dropdown设置点击才显示下拉内容
  • bootstrap-table如何格式化columns的日期格式
  • 热门搜索
    节约用水手抄报大全 安全伴我行手抄报图片 关于奥运会的手抄报 英语手抄报的英文 关于普法的手抄报 我是平安宣传员手抄报 手抄报排版设计 中秋节手抄报资料 我健康我快乐的手抄报 迎中秋庆国庆手抄报简单又漂亮