[code.view]

[top] / python / PyMOTW / multiprocessing / multiprocessing_namespaces_mutable.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2009 Doug Hellmann All rights reserved.
     #
     """
     """
     #end_pymotw_header
     
     import multiprocessing
     
     def producer(ns, event):
         ns.my_list.append('This is the value') # DOES NOT UPDATE GLOBAL VALUE!
         event.set()
     
     def consumer(ns, event):
         print 'Before event, consumer got:', ns.my_list
         event.wait()
         print 'After event, consumer got:', ns.my_list
     
     if __name__ == '__main__':
         mgr = multiprocessing.Manager()
         namespace = mgr.Namespace()
         namespace.my_list = []
         
         event = multiprocessing.Event()
         p = multiprocessing.Process(target=producer, args=(namespace, event))
         c = multiprocessing.Process(target=consumer, args=(namespace, event))
         
         c.start()
         p.start()
         
         c.join()
         p.join()
     

[top] / python / PyMOTW / multiprocessing / multiprocessing_namespaces_mutable.py

contact | logmethods.com