python多线程同步
python多线程同步
作者:vpoet
日期:大约在夏季
1 import threading 2 import time 3 mylock = threading.RLock() 4 num=0 5 6 class myThread(threading.Thread): 7 def __init__(self, name): 8 threading.Thread.__init__(self) 9 self.t_name = name 10 11 def run(self): 12 global num 13 while True: 14 mylock.acquire() 15 print '\nThread(%s) locked, Number: %d'%(self.t_name, num) 16 if num>=10: 17 mylock.release() 18 print 'num >=10 thread over!' 19 break 20 num+=1 21 print '\nThread(%s) released, Number: %d'%(self.t_name, num) 22 time.sleep(1) 23 mylock.release() 24 25 def test(): 26 thread1 = myThread('A') 27 thread2 = myThread('B') 28 thread1.start() 29 thread2.start() 30 31 if __name__== '__main__': 32 test()
运行结果:
作者:vpoet
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。