一个给不同线程分配不同锁的例子:
'''Created on 2012-3-9@author: Administrator'''#!/usr/bin/env pythonimport threadfrom time import ctime,sleeploops=[4,2]def loop(nloop,nsec,lock):print 'start loop',nloop,'at:',ctime()sleep(nsec)print 'loop',nloop,'done at:',ctime()lock.release()def main():print 'starting at :',ctime()locks=[]nloops=range(len(loops))for i in nloops:lock=thread.allocate_lock()lock.acquire()locks.append(lock)for i in nloops:thread.start_new_thread(loop, (i,loops,lock))for i in nloops:while locks.locked():passprint 'all Done at:',ctime()if __name__=='__main__':main()