Swing Worker线程不并发

Car*_*ndo 6 java swing swingworker

似乎当我实例化12个Swing Worker线程时,前六个开始完成它的任务,它完成AND然后最后六个开始并完成.我正在寻找的行为是所有12个线程同时开始工作并同时完成.

我有以下内容:

for (int i = 0; i < 12; i++ )
{
        myTask m = new Mytask(i, START);
        m.execute();
}
Run Code Online (Sandbox Code Playgroud)

myTask m将以0到100递增一个进度条,增量为25.我发现前六个线程开始递增的异常行为,它们以100结束,然后最后六个线程从0开始递增,然后结束.

是否存在可能具有的Swing Worker线程数量的限制因素?

tra*_*god 7

我正在寻找的行为是所有12个线程同时开始工作并同时完成.

A CountDownLatch是为此目的而设计的.这是使用由锁存器控制的单个和多个辅助线程的一个很好的示例SwingWorker.