[code.view]

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

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2008 Doug Hellmann All rights reserved.
     #
     """Locking via the 'with' statement
     """
     #end_pymotw_header
     import multiprocessing
     import sys
     
     def worker_with(lock, stream):
         with lock:
             stream.write('Lock acquired via with\n')
             
     def worker_no_with(lock, stream):
         lock.acquire()
         try:
             stream.write('Lock acquired directly\n')
         finally:
             lock.release()
     
     lock = multiprocessing.Lock()
     w = multiprocessing.Process(target=worker_with, args=(lock, sys.stdout))
     nw = multiprocessing.Process(target=worker_no_with, args=(lock, sys.stdout))
     
     w.start()
     nw.start()
     
     w.join()
     nw.join()
     

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

contact | logmethods.com