When to join threads with CountDownLatch

In my previous post When to join threads, Thread.join() is used to wait for all child threads to complete. Now I will update it using CountDownLatch instead:

package test.concurrent;
import java.util.Vector;
import java.util.concurrent.CountDownLatch;

public class ThreadTest {
private Vector<String> threadNames = new Vector<String>();
public static void main(String[] args) {
ThreadTest test = new ThreadTest();

private void threadTest(int numOfThreads) {
final CountDownLatch latch = new CountDownLatch(numOfThreads);
Thread[] threads = new Thread[numOfThreads];
for (int i = 0; i < threads.length; i++) {
threads[i] = new ThreadTest.MyThread(latch);
try {
} catch (InterruptedException e) {

private class MyThread extends Thread {
private final CountDownLatch latch;
public MyThread(CountDownLatch latch) {
this.latch = latch;

@Override public void run() {
for (int i = 0; i < 1000000; i++) {
i = i + 0;
A CountDownLatch is created in main thread, passed to each child thread's constructor. Each child thread will count down by 1. After starting all child threads, the main thread then wait for the latch count to reach 0. To run it:
$ java test.concurrent.ThreadTest 10
[Thread-1, Thread-2, Thread-0, Thread-3, Thread-4, Thread-5, Thread-6, Thread-7, Thread-8, Thread-9]


Adrianos Dadis said...


very nice example, the CountDownLatch is really useful class and it really helps in many cases. As always concurrency is tricky and so is CountDownLatch as can cause a deadlock if we are not aware of funny cases.

If you would like to use it, you have to know the functional cases of your class and elaborate to other team developers for this functionality. Please check this for an example:

Adrianos Dadis.

Anonymous said...

Good one, btw, here is another example of how to use CountDownLatch in Java in order to understand the difference in little bit more details, here is one good example with nice explanation.

Anna said...

Great and Useful Article.

Online Java Training

Online Java Training from India

Online Java Training

Online Java Training From India

Java Training Institutes in Chennai

Java Training in Chennai

Unknown said...

I enjoyed on reading your blog post. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. Please visit my website, Friv 4000 Games is where all the free friv games.
Friv 4000

Sugantha Raja said...
This comment has been removed by the author.
Sugantha Raja said...

I really appreciate your work, I learnt lot from this blog, Keep your good work.
Java Training in Chennai | Java Training Institute in Chennai

blogs said...


blogs said...


Unknown said...

The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea. here by i also want to share this.
AWS training in chennai

digitalsourabh said...

Best PHP Training Institute in Bhopal
Graphic designing training in bhopal
Python Coaching in Bhopal
Android Coaching in Bhopal
Machine Learning Course in Bhopal
Digital Marketing Training in Bhopal
IoT Training in Bhopal
Artificial Intelligence Training in Bhopal

Techxinx said...

I am a regular reader of your blog and I find it really informative. for more info contact us
CPCT Coaching in Bhopal
java coaching in bhopal
Autocad classes in bhopal
Catia coaching in bhopal

janathan said...


Vijaykumar said...

very informative...
Inplant Training in Chennai
Iot Internship
Internship in Chennai for CSE
Internship in Chennai
Python Internship in Chennai
Implant Training in Chennai
Android Training in Chennai
R Programming Training in Chennai
Python Internship
Internship in chennai for EEE

Vijaykumar said...

Python Programming Questions and Answers PDF
Qdxm Sfyn Uioz
How To Hack Whatsapp Account Ethical Hacking
Power Bi Resume
Whatsapp Unblock Software
Tp Link Password Hack
The Simple Interest Earned On a Certain Amount Is Double
A Certain Sum Amounts To RS. 7000 in 2 years and to RS. 8000 in 3 Years. Find The Sum.
Zensoft Aptitude Questions

Training for IT and Software Courses said...

Excellent information with unique content and it is very useful to know about the AWS.aws training in bangalore

Johan said...

I must appreciate you for providing such a valuable content for us. This is one amazing piece of article. Helped a lot in increasing my knowledge.

oracle training in bangalore

oracle courses in bangalore

oracle classes in bangalore

oracle training institute in bangalore

oracle course syllabus

best oracle training

oracle training centers

ammu said...

chile web hosting
colombia web hosting
croatia web hosting
cyprus web hosting
bahrain web hosting
india web hosting
iran web hosting
kazakhstan web hosting
korea web hosting
moldova web hosting

ammu said...

text animation css
animation css background
sliding menu
hover css
css text animation
css loaders
dropdown menu
buttons with css

raju said...

nice bloggers....!!!!
poland web hosting
russian federation web hosting
slovakia web hosting
spain web hosting
syria web hosting
united kingdom
united kingdom shared web hosting
zambia web hosting
inplant training in chennai

varsha said...

Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
AWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery

Archana Baldwa said...

Thank you so much for providing us an informative knowledge Really awesome blog!!!


Jerome Devu said...

Pretty Good Article!
At devu.in, we provide training in Data Science Training in Bangalore

Jerome Devu said...

Pretty Good Article!
At devu.in, we provide training in Data Science Training in Bangalore

Neeta Borse said...

I really thank you for the valuable info on this great subject and look forward to more great posts. Thanks a lot for enjoying this beauty article with me. I am appreciating it very much! Looking forward to another great article. Good luck to the author! All the best!
Php projects with source code
Online examination system in php
Student management system in php
Php projects for students
Free source code for academic
Academic projects provider in nashik
Academic project free download

Joe said...

Organic Chemistry tutor