disl 发表于 2018-8-13 06:07:05

python多线程学习

#!/usr/bin/env python  
#coding:utf-8
  
import threading
  
import time
  
mylock = threading.RLock()
  
num = 0
  
class myThread(threading.Thread):
  
    def __init__(self,name):
  
      threading.Thread.__init__(self)
  
      self.t_name = name
  

  
    def run(self):
  
      global num
  
      while True:
  
            mylock.acquire()#得到锁
  
            print 'Thread(%s) locked, Number: %d'%(self.t_name, num)
  
            if num >=5:
  
                mylock.release()
  
                print 'Thread %s release! num =%d'%(self.t_name,num)
  
                break
  
            num+=1
  
            print 'Thread %s released! num = %d'%(self.t_name,num)
  
            mylock.release()
  
def test():
  
    t1 = myThread('A')
  
    t2 = myThread('B')
  
    t1.start()
  
    t2.start()
  

  

  
if __name__== '__main__':
  
    test()
页: [1]
查看完整版本: python多线程学习