title: How to pass a dictionary of Queues to multiprocessing.Process
body: <p>I am not sure if it is possible to pass an dictionary of Queues as argument to a Process. If it is only possible as kwargs, how can it be done?</p>
  
  <pre><code>from multiprocessing import Process, Queue
  
  
  class WordsManager:
  
      def __init__(self, my_dict):
          self.dict = my_dict
  
      def run(self):
          pass
  
  
  def words_worker(my_dict):
      worker = WordsManager(my_dict)
      worker.run()
  
  
  def start_job_manager():
      my_dict = {}
      for language in ('en', 'de', 'es'):
          my_dict[language] = Queue()
  
      words_manager = {'process': None, 'my_dict': my_dict}
      words_manager["process"] = Process(target=words_worker, args=(words_manager['my_dict']))
      words_manager["process"].daemon = True
      words_manager["process"].start()
  
      return words_manager
  
  
  start_job_manager()
  </code></pre>
  
  <p>The error is:</p>
  
  <pre><code>Process Process-4:
  Traceback (most recent call last):
     File "/home/antonio/python/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
  self.run()
    File "/home/antonio/python/lib/python3.4/multiprocessing/process.py", line 93, in run
  self._target(*self._args, **self._kwargs)
  TypeError: words_worker() takes 1 positional argument but 3 were given
  </code></pre>