修修心养养性
利不可赚尽,福不可享尽,势不可用尽
大纲
- join方法使用
- 进程锁
- 进程间通信
Process对象中的join方法
join方法表示等待子进程结束后再继续往下运行,通常用于进程间的同步,等待的总时间是子进程中耗费时间最长的那个进程运行的时间。
join方法演示
对比一下两种不同结果
进程锁
并发运行时会出现同时操作一个文件时候,这时候会出现操作文件内容混乱,需要加入锁机制,由并发变成了串行。
import timeimport osfrom multiprocessing import Process, Lockdef work(lock): # 获取锁 lock.acquire() print('{0} is 开始工作'.format(os.getpid())) time.sleep(2) print('{0} is 结束工作'.format(os.getpid())) # 释放锁 lock.release()lock = Lock()for i in range(3): p = Process(target=work,args=(lock,)) p.start()
加入锁机制变成串行时运行结果
进程间通信
在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据
Queue示例
结果
如果本篇对您有帮助,请点赞转发支持一下,谢谢。
上一篇:Python中多进程(一)
下一篇:Python中多线程(一)