Concurrency Tips & Tricks

Use with statement to manage locks

Starting in Python 2.5, the with statement is a far easier way to manage locks:

   1 some_lock = threading.Lock()
   2 
   3 with some_lock:
   4     do_stuff_requiring_lock()

This is equivalent to:

   1 some_lock = threading.Lock()
   2 
   3 some_lock.acquire():
   4 try:
   5     do_stuff_requiring_lock()
   6 finally:
   7     some_lock.release()

Adjust checkinterval

Increasing the check interval may improve performance for CPU-bound multithreaded programs, at the cost of I/O responsiveness.

Concurrency/TipsAndTricks (last edited 2009-05-19 17:25:39 by PeterFein)

Unable to edit the page? See the FrontPage for instructions.