lchl0388 发表于 2018-8-9 06:49:09

python 锁机制

#!/bin/usr/env python  
#coding:utf-8
  
import multiprocessing
  
import time
  
class multF(multiprocessing.Process):
  
    """docstring for multF"""
  
    def __init__(self,filename,proname,stime,lock):
  
      multiprocessing.Process.__init__(self)
  
      self.filename = filename
  
      self.proname= proname
  
      self.stime    = stime
  
      self.lock       = lock
  
    def run(self):
  
      with open(self.filename,'a') as f:
  
            self.lock.acquire()
  
            for x in xrange(1,5):
  
                f.write("进程编号:"+str(self.proname)+"---"+str(x)+'\n')
  
                time.sleep(self.stime)
  
      f.close()
  
      self.lock.release()
  
      print u"文件写入完成."
  
def main():
  
    filename = './test2.txt'
  
    lock = multiprocessing.Lock()
  
    t1 = multF(filename,'01',2, lock)
  
    t2 = multF(filename,'02',1,lock)
  
    t3 = multF(filename,'03',2,lock)
  
    t1.start()
  
    t2.start()
  
    t3.start()
  
    t1.join()
  
    t2.join()
  
    t3.join()
  
    print u"结束"
  
if __name__ == '__main__':
  
    main()
页: [1]
查看完整版本: python 锁机制