from multiprocessing import Pool,Managerimport timedef hanshu(queue,a):n = 1while n50:# print(\r正在工作%d%a,end=)n+=1# 【步骤3】往队列中发送一条消息queue.put(a)time.sleep(2)def main():print(执行mai...

from multiprocessing import Pool,Manager import time def hanshu(queue,a): n = 1 while n<50: # print('\r正在工作%d'%a,end='') n+=1 # 【步骤3】往队列中发送一条消息 queue.put(a) time.sleep(2) def main(): print('执行main函数') for i in range(0,10): po.apply_async(hanshu,args=(q,i)) # 【步骤2】向进程池中添加任务,hanshu是做任务的函数,(i,)是传参,是个元组 q是队列 if __name__ == '__main__': q=Manager().Queue() #使用Manager中的Queue方法 【步骤1】创建一个队列 po = Pool(10) # 创建进程池 并限定最多同时运行10个进程 main() print('---start-----') po.close() # 关闭进程池不再接受新的进程任务 # po.join() #等待进程池里面的任务完成 while True: name=q.get() print('\r收到消息 与任务不堵塞',name ,end='')
沃梦达教程
本文标题为:Python 多进程进程池Queue进程通信


基础教程推荐
猜你喜欢
- 四步教你学会打包一个新的Python模块 2022-10-20
- 基于Python实现股票数据分析的可视化 2023-08-04
- centos系统 anaconda3(python3)安装pygrib 2023-09-04
- Python爬取当网书籍数据并数据可视化展示 2023-08-11
- Python基础学习之函数和代码复用详解 2022-09-02
- Python 中 Elias Delta 编码详情 2023-08-08
- CentOS 7.5 安装 Python3.7 2023-09-03
- Centos7下安装python环境 2023-09-04
- python的环境conda简介 2022-10-20
- ubuntu 18 python3.6 的安装与 python2的版本切换 2023-09-03