This repository contains all the source code examples from my LiveLessons course on "Java Concurrent Programming" and my various LiveTraining courses, as described at http://www.dre.vanderbilt.edu/~schmidt/DigitalLearning.
Great lectures! This is not an issue but just a question that came to mind while reading OneShotExecutorService...
In OneShotExecutorService:processQueuedResults(), are having getQueue().take() in L196 and t.join() in L212 sufficient to ensure the tasks are finished than to also callCountDownLatch mExitBarrier.await() in L152? In other words, is the CountDownLatch necessary?
Valid point, OneShotExecutorService:processQueuedResults() will return once it processes all results from the queue which in turn will only have all results after all threads have completed.
Great lectures! This is not an issue but just a question that came to mind while reading
OneShotExecutorService
...In
OneShotExecutorService:processQueuedResults()
, are havinggetQueue().take()
in L196 andt.join()
in L212 sufficient to ensure the tasks are finished than to also callCountDownLatch mExitBarrier.await()
in L152? In other words, is the CountDownLatch necessary?