共计 517 个字符,预计需要花费 2 分钟才能阅读完成。
最近开始接手 Java 的项目,目前代码问题涉及到线程相关的内容,先说一下现状是
1、线程是通过 new Thread().start 去启动的
2、线程过一段时间就会假死
想咨询一下如何保证线程不假死,示例如下
public class thread1 implements Runnable {
@Override
public void run() {while (true) {
try {if (condition) {
// 代码
.......
try {Thread.sleep(300);
} catch (InterruptedException e) {sout(e)
}
} else {
try {Thread.sleep(10000);
} catch (InterruptedException e) {sout(e)
}
}
} catch (Exception e) {}}
}
像这种一个线程逻辑里面,根据判断条件有多个休眠的,有什么好解决方案没,我查了一下 Timer 和 ScheduledExecutorService,好像都不太符合,TimeUnit. 时间单位.sleep 的底层好像也是 Thread.sleep 实现的,直接使用 ThreadPoolExecutor 去管理线程会不会有效,大家可以说说自己的看法
正文完