请教老师线程池问题
来源:3-2 增加线程

慕尼黑8163989
2023-01-19
老师好,我现在在生产上碰到一个问题,令我困惑. 我们创建一个定时调度的线程池.corePoolSize设置为2,代码如下.
ScheduledExecutorService service = Executors.newScheduledThreadPool(2);
service.scheduleAtFixedRate( “发送心跳” , 0, 5, TimeUnit.SECONDS);
service.scheduleAtFixedRate( “工作1” , 0, 3, TimeUnit.SECONDS);
service.scheduleAtFixedRate( “工作2” , 0, 180, TimeUnit.SECONDS);
在生产上会偶发(有时大概两个月发生一次)如下情况. 通过日志会发现"发送心跳"任务在某个时刻会突然停止工作,后面再也不会被调起执行了.
而"工作1"和"工作2",这两个任务却会一直执行下去.不知道为什么会出现这种情况.老师能帮忙指教指教.谢谢.
补充: “发送心跳”,“工作1”,"工作2"这三个任务代码内,都try catch了.
写回答
1回答
-
悟空
2023-01-25
不好意思,这个问题我也无法解答,按照描述来看,我也认为不应该出现停止“发送心跳”的情况。
022023-02-03
相似问题