Java:单线程ThreadPoolExecutor中的意外并发

时间:2017-10-31 09:11:22

标签: java concurrency runnable executorservice threadpoolexecutor

我在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。我预计这两件事都是不可能的。

0 个答案:

没有答案