title: Pass Value("i", 0) to processs
body: <p>I have this code (it is snippet from my program):</p>
  
  <pre><code>from multiprocessing import Process, Manager, cpu_count, Pool, Value, Lock
  
  def grab_future_products(p, test):
      print("Starting procces %s" % p)
  
  if __name__ == "__main__": # Main program
      n = 4
      test = Value('i', 0)
      pool = Pool(processes=n) # n processes per every CPU core
  
      for i in range(n):
          pool.apply_async(grab_future_products, args=(i, test))
  
      pool.close()
      pool.join()
  </code></pre>
  
  <p>If I run it with <code>python test.py</code> I got no output, no errors, just nothing.
  I wanted to use variable test as shared integrer between all processes so I can do in another process something like:</p>
  
  <pre><code>if test.value == X:
      break
  </code></pre>
  
  <p>But interesting is that if I replace <code>args=(i, test))</code> with <code>args=(i, 1))</code>, it will work as desired.
  So my question is, why I can not pass <code>Value()</code> object into process? And how I can solve this problem?
  Many thanks.</p>