美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Python中多进程—Join方法使用、进程锁及进程间通信

 大纲

  1. join方法使用
  2. 进程锁
  3. 进程间通信

Process对象中的join方法

join方法表示等待子进程结束后再继续往下运行,通常用于进程间的同步,等待的总时间是子进程中耗费时间最长的那个进程运行的时间。

join方法演示

对比一下两种不同结果

进程锁

并发运行时会出现同时操作一个文件时候,这时候会出现操作文件内容混乱,需要加入锁机制,由并发变成了串行。

 
 
 
 
  1. import time
  2. import os
  3. from multiprocessing import Process, Lock
  4. def work(lock):
  5.     # 获取锁
  6.     lock.acquire()
  7.     print('{0} is 开始工作'.format(os.getpid()))
  8.     time.sleep(2)
  9.     print('{0} is 结束工作'.format(os.getpid()))
  10.     # 释放锁
  11.     lock.release()
  12. lock = Lock()
  13. for i in range(3):
  14.     p = Process(target=work,args=(lock,))
  15.     p.start()

加入锁机制变成串行时运行结果

进程间通信

在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据

Queue示例


网站栏目:Python中多进程—Join方法使用、进程锁及进程间通信
本文来源:http://www.zsjierui.cn/article/dhodjsd.html

其他资讯