這可能是一個簡單的,但我已經嘗試了大量不同的東西,無論我嘗試什麼,我都無法得到它的工作。ExecutorService JProgressBar
基本上我有一個JProgressBar,我想更新我處理任務列表。這些任務很短,但有很多這些是我使用ExecutorService的原因。
問題是,我找不到一個很好的方法來監聽ExecutorService有多少任務需要處理。 invokeAll()阻塞,直到所有的任務完成,如果我使用submit()來執行每個任務,任務幾乎完成了它到達JProgressBar的代碼。我甚至嘗試過插入這兩個,但那只是令人討厭的。
有沒有簡單的方法來提交一批任務(實現可調用),然後調用一個execute()方法開始處理?
或者我在這裏看完全錯誤的方向?
謝謝!
最糟糕的是我記得看到這一次!感謝喚醒;)我看到的唯一問題是,我仍然無法「集體」提交任務。我必須一個一個提交... – PeterM
如何保持一個字段,告訴我們已經提交了多少任務? –
如果您不能一次性提交,則可以限制使用Executors.newFixedThreadPool(nProcs)運行的處理器數量。您可以使用Runtime.getRuntime()。availableProcessors()獲取處理器的數量; – 2011-10-30 03:00:28