title: What is a context object in multiprocessing module and what is the use of it
body: <p>So I saw the below code in the <a href="https://docs.python.org/3/library/multiprocessing.html" rel="nofollow noreferrer">documentation</a> of  multiprocessing module what does this get_context()
  function do and why we are using ctx instead of mp ? I am not able to understand it</p>
  
  <pre><code>import multiprocessing as mp
  
  def foo(q):
      q.put('hello')
  
  if __name__ == '__main__':
      ctx = mp.get_context('spawn')
      q = ctx.Queue()
      p = ctx.Process(target=foo, args=(q,))
      p.start()
      print(q.get())
      p.join()
  </code></pre>