对Python的多进程锁的使用方法详解-创新互联

很多时候,我们需要在多个进程中同时写一个文件,如果不加锁机制,就会导致写文件错乱

创新互联公司-专业网站定制、快速模板网站建设、高性价比平山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平山地区。费用合理售后完善,十余年实体公司更值得信赖。

这个时候,我们可以使用multiprocessing.Lock()

我一开始是这样使用的:

import multiprocessing
lock = multiprocessing.Lock()
class MatchProcess(multiprocessing.Process):
  def __init__(self, threadId, mfile, lock):
    multiprocessing.Process.__init__(self)
    self.threadId = threadId
    self.mfile = mfile
    self.lock = lock
  def run(self):
    while True:
       self.lock.acquire()
       try:
         self.mfile.write('111111111111111111' + '\n')
       finally:
         self.lock.release()
 
if __name__ == '__main__':
  mf = open('test.lst', 'w')
  for i in range(15):
    p = MatchProcess(i, mf, lock)
    p.start() 

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:对Python的多进程锁的使用方法详解-创新互联
路径分享:http://csdahua.cn/article/peheh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流