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进程通信
基础教程推荐
猜你喜欢
- windows下面使用多版本Python安装指定版本的虚拟环境 2023-09-04
- MySQL数据优化-多层索引 2023-08-11
- 使用Pycharm创建一个Django项目的超详细图文教程 2022-09-02
- Python+OpenCV实战之实现文档扫描 2022-10-20
- linux 安装 python3 2023-09-03
- 云服务器Ubuntu更改默认python版本 2023-09-03
- 远程和Ubuntu服务器进行Socket通信,使用python和C#(准备篇) 2023-09-05
- python验证多组数据之间有无显著差异 2023-08-08
- Python爬虫爬取属于自己的地铁线路图 2023-08-05
- 创建python虚拟环境(在ubuntu16.04中) 2023-09-04
