当前位置: 代码迷 >> Java Web开发 >> 在eclipse运作项目的时候,过一段时间总会自己跳到ThreadPoolExecutor这个类中
  详细解决方案

在eclipse运作项目的时候,过一段时间总会自己跳到ThreadPoolExecutor这个类中

热度:299   发布时间:2016-04-16 21:45:09.0
在eclipse运行项目的时候,过一段时间总会自己跳到ThreadPoolExecutor这个类中
具体表现就是运行项目一段时间(时间不定),总会跳到这个类中。而且每次都是以debug形式进入。我又没打过断点。
------解决思路----------------------
Eclipse -> Preferences ->Java ->Debug
"Suspend execution on uncaught exceptions" 勾去掉
就不会进debug了
------解决思路----------------------
可以从这段代码上来理解。
我们都知道ide会预知底层的throws的异常,并且提示你写上catch块。对于运行时异常却不能够预知。当然写上catch runtimeeclipse也是没问题,可以捕获的,这样可以保证程序不会挂掉。但是这里是线程池的类,线程挂掉了,对程序不会有影响。
而且底层确实没有throws异常,唯一可能的是运行时异常。线程池的开发者根本就不想捕获异常,而且线程挂掉就挂掉了,主程序还是会继续跑下去。线程类唯一保证的就是在线程碰到运行时异常的时候,执行finally中的workerdone(this),可以看到这个方法中是移除线程任务,解锁的代码。这样,维护了线程池。
再说到为什么eclipse会自动进入这段代码的debug,因为没有catch,所以eclipse把它当做未被捕获的异常了,这个时候再去按照3楼的设置,那么这个问题就解决了。
因为线程池的开发者特殊的需求,写了这段的代码,导致了eclipse进入了debug,虽然不能说明编码的严谨性,但是在平时开发的时候,对于异常的处理还是要非常小心。
  相关解决方案