title: Python multiprocessing queue get and put
body: <p>I am trying to use python multiprocessing to fill a queue with strings and then print them back out but am having trouble. Could someone point out what I am doing wrong?</p>
  
  <pre><code>import multiprocessing
  
  my_q = multiprocessing.Queue()
  my_list  =[i for i in range(0,100)]
  
  def enqueue(q):
      for data in my_list:
          q.put(data)
  
  def get_it(q):
      while not q.empty():
          item = q.get()
          print(item)
  
  
  p1 = multiprocessing.Process(target=enqueue, args=(my_q,))
  p2 = multiprocessing.Process(target=get_it, args=(my_q,))
  p1.start()
  p2.start()
  
  p1.join()
  p2.join()
  </code></pre>
  
  <p>This program executes without printing anything.</p>