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 ' Thread(%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 ' Thread(%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()
运行结果: