我在MyRunnable
创建的ExecutorService
上安排了多个Executors.newFixedThreadPool(1)
个对象。每个stepX
方法在开始执行时记录,根据我的日志,我有MyRunnable
个具有重叠运行时的对象。我还有运行时错误,这些错误与同时执行的两个MyRunnable
对象一致,所以这可能不仅仅是时钟不稳定。
class MyRunnable implements Runnable {
@Override
public void run() {
step1();
step2();
step3();
step4();
step5();
}
}
我的代码中没有ThreadPoolExecutor#setMaximumPoolSize
的来电。
据我所知,我的Runnable
被抢先一空,或者是我的。{
ThreadPoolExecutor
正在超越其maximumPoolSize
。我预计这两件事都是不可能的。