title: multiprocessing: How do I share a dict among multiple processes?
body: <p>A program that creates several processes that work on a join-able queue, <code>Q</code>, and may eventually manipulate a global dictionary <code>D</code> to store results. (so each child process may use <code>D</code> to store its result and also see what results the other child processes are producing)</p>
  
  <p>If I print the dictionary D in a child process, I see the modifications that have been done on it (i.e. on D). But after the main process joins Q, if I print D, it's an empty dict!</p>
  
  <p>I understand it is a synchronization/lock issue. Can someone tell me what is happening here, and how I can synchronize access to D?</p>