Python 多进程编程
2021/9/8 7:06:08
本文主要是介绍Python 多进程编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
总的来说与多线程的实现方式几乎一致. 不同的点在于多进程间的变量通信
from multiprocessing import Process import time import os class MyProcess(Process): def __init__(self): super().__init__() def run(self): # 实现自己的Process类时, 需要重写Process方法 print(f"启动子进程. pid: {os.getpid()}") time.sleep(10) print(f"结束子进程. pid: {os.getpid()}") def f(): print(f"启动子进程. pid: {os.getpid()}") time.sleep(10) print(f"结束子进程. pid: {os.getpid()}") if __name__ == "__main__": ps = [] # 实现多进程的第一种方式, 继承Process类, 重写run方法. -- MyProcess for i in range(1, 11): ps.append(MyProcess()) # 实现多进程的第二种方式, target指定f函数 for i in range(1, 11): ps.append(Process(target=f)) for p in ps: p.start() # 启动子进程 for p in ps: p.join() # 阻塞主进程直到子进程结束为止 print("end")
在多个进程间共享数据
from multiprocessing import Process, Queue import time import os def f(q): print(f"启动子进程. pid: {os.getpid()}") time.sleep(1) q.put(q.get() + 1) print(f"结束子进程. pid: {os.getpid()}") if __name__ == "__main__": ps = [] q = Queue() # 实例化队列 Queue q.put(0) # 将 0 放入初始数据 for i in range(1, 11): ps.append(Process(target=f, args=(q,))) for p in ps: p.start() # 启动子进程 for p in ps: p.join() # 阻塞主进程直到子进程结束为止 print(q.get()) print("end")
这篇关于Python 多进程编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南