startPendingThreads(); fireStartEvent(threadWatcher); while (!interrupted[0] && getPendingThreadCount() > 0) { try { int completedThreads = runnables.length - getPendingThreadCount(); threadWatcher.updateThreadsCompletedCount(completedThreads, cancelEventTrigger); ResultsTuple results = getNewlyCompletedResults(); fireProgressEvent(threadWatcher, results.completedResults); fireIgnoredErrorsEvent(threadWatcher, results.errorResults); startPendingThreads(); forceInterruptAllRunnables(); fireCancelEvent(); } else { int completedThreads = runnables.length - getPendingThreadCount(); threadWatcher.updateThreadsCompletedCount(completedThreads, cancelEventTrigger); ResultsTuple results = getNewlyCompletedResults(); fireProgressEvent(threadWatcher, results.completedResults); if (results.completedResults.size() > 0) { if (log.isDebugEnabled()) {
startPendingThreads(); fireStartEvent(threadWatcher); while (!interrupted[0] && getPendingThreadCount() > 0) { try { int completedThreads = runnables.length - getPendingThreadCount(); threadWatcher.updateThreadsCompletedCount(completedThreads, cancelEventTrigger); ResultsTuple results = getNewlyCompletedResults(); fireProgressEvent(threadWatcher, results.completedResults); fireIgnoredErrorsEvent(threadWatcher, results.errorResults); startPendingThreads(); forceInterruptAllRunnables(); fireCancelEvent(); } else { int completedThreads = runnables.length - getPendingThreadCount(); threadWatcher.updateThreadsCompletedCount(completedThreads, cancelEventTrigger); ResultsTuple results = getNewlyCompletedResults(); fireProgressEvent(threadWatcher, results.completedResults); if (results.completedResults.size() > 0) { if (log.isDebugEnabled()) {