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()  

运行结果:

python多线程同步

 

你可能感兴趣的:(python)