title: Queue vs JoinableQueue in Python
body: <p>In Python while using multiprocessing module there are 2 kinds of queues:</p>
  <ul>
  <li>Queue</li>
  <li>JoinableQueue.</li>
  </ul>
  <p>What is the difference between them?</p>
  <h1>Queue</h1>
  <pre><code>from multiprocessing import Queue
  q = Queue()
  q.put(item) # Put an item on the queue
  item = q.get() # Get an item from the queue
  </code></pre>
  <h1>JoinableQueue</h1>
  <pre><code>from multiprocessing import JoinableQueue
  q = JoinableQueue()
  q.task_done() # Signal task completion
  q.join() # Wait for completion
  </code></pre>