title: multiprocessing Programming guidelines unclear
body: <p>I am trying to understand the following guideline:</p>
  
  <h1><a href="https://docs.python.org/3.4/library/multiprocessing.html#all-start-methods">Better to inherit than pickle/unpickle</a></h1>
  
  <blockquote>
    <p>When using the spawn or forkserver start methods many types from multiprocessing need to be picklable so that child processes can use them. However, one should generally avoid sending shared objects to other processes using pipes or queues. Instead you should arrange the program so that a process which needs access to a shared resource created elsewhere can inherit it from an ancestor process.  </p>
  </blockquote>
  
  <ul>
  <li>What does it mean to "arrange the program"?  </li>
  <li>How can I share resources by inheriting?</li>
  </ul>
  
  <p>I'm running windows, so the new processes are spawned, does that means only forked processes can inherit?</p>