title: Does Python have a similar control mechanism to Java's CountDownLatch?
body: <p>So, I will start by saying that this is for a homework problem. My professor gave us an assignment which must be written once in Java and once in another language; I chose the second language to be Python since I'm at least a little familiar with it. The program must work in the following way:</p>
  <pre><code>start the main method/thread, which we will call parent
  start thread child 1 from the parent
  start thread grandchild from thread child 1
  start thread child 2 from the parent
  print grandchild from the grandchild thread
  print child 2 from the child 2 thread
  print child 1 from the child 1 thread
  print parent from the main method/parent thread
  </code></pre>
  <p>These things must be done in this order. I have written code that does this in Java using CountDownLatch in order to organize the way these things occur. However, I didn't see a similar mechanism in Python (although I'm less familiar with Python than Java). Is there a similar mechanism that maybe I just can't find because I don't know what it's called?</p>