这可能是一个简单的,但我已经尝试了大量不同的东西,无论我尝试什么,我都无法得到它的工作。ExecutorService JProgressBar
基本上我有一个JProgressBar,我想更新我处理任务列表。这些任务很短,但有很多这些是我使用ExecutorService的原因。
问题是,我找不到一个很好的方法来监听ExecutorService有多少任务需要处理。 invokeAll()阻塞,直到所有的任务完成,如果我使用submit()来执行每个任务,任务几乎完成了它到达JProgressBar的代码。我甚至尝试过插入这两个,但那只是令人讨厌的。
有没有简单的方法来提交一批任务(实现可调用),然后调用一个execute()方法开始处理?
或者我在这里看完全错误的方向?
谢谢!
最糟糕的是我记得看到这一次!感谢唤醒;)我看到的唯一问题是,我仍然无法“集体”提交任务。我必须一个一个提交... – PeterM
如何保持一个字段,告诉我们已经提交了多少任务? –
如果您不能一次性提交,则可以限制使用Executors.newFixedThreadPool(nProcs)运行的处理器数量。您可以使用Runtime.getRuntime()。availableProcessors()获取处理器的数量; – 2011-10-30 03:00:28