title: Python 3.5 multiprocessing pool and queue don't work
body: <p>I encounter a multiprocessing problem. The code is included below. The code can execute as expected, but when uncommenting <code>self.queue = multiprocessing.Queue()</code>, this program will exit immediately and it seems that the subprocess can't be started successfully. </p>
  
  <p>I don't know what happened. Could someone help me out? Many Thanks!</p>
  
  <pre><code>import multiprocessing
  import time
  
  class Test:
      def __init__(self):
          self.pool = multiprocessing.Pool(1)
          #self.queue = multiprocessing.Queue()
  
      def subprocess(self):
          for i in range(10):
              print("Running")
              time.sleep(1)
          print("Subprocess Completed")
  
      def start(self):
          self.pool.apply_async(func=self.subprocess)
          print("Subprocess has been started")
          self.pool.close()
          self.pool.join()
  
      def __getstate__(self):
          self_dict = self.__dict__.copy()
          del self_dict['pool']
          return self_dict
  
      def __setstate__(self, state):
          self.__dict__.update(state)
  
  if __name__ == '__main__':
      test = Test()
      test.start()
  </code></pre>