【发布时间】:2017-11-18 04:46:34
【问题描述】:
当线程被线程池执行时抛出异常会发生什么?
它会终止并被垃圾收集吗?
背景故事:
我不时使用ScheduledThreadPoolExecutor 运行任务,Netty 也在使用它。现在我使用这个应用程序的客户告诉我,他们有时会注意到一堆客户端随机断开连接,每次发生这种情况时,都会记录来自单独的非网络相关任务的堆栈跟踪。我的假设是线程被中断并被垃圾收集,因此 Netty 丢失了对线程的任何引用并断开分配的 tcp 客户端。
【问题讨论】:
-
您使用的是执行还是提交?因为异常处理不同而提交燕子异常。 stackoverflow.com/questions/3929342/…。发布最少的代码 sn-p 以了解问题。
-
@Ravindrababu ScheduledExecutorService.schedule(new Runnable(), delay, TimeUnit.MILLISECONDS););
-
如果对@Wesley 有帮助,提醒您接受答案。
标签: java multithreading threadpool