python多进程子进程不运行问题
precess使用进程池队列管理问题
背景:
在进行视频取帧的过程中,为了加速,用process多进程同时去做,将取到的帧放到队列中,之后会同时有另外的进程同时进行处理。
但是在实际的操作中发现,直接将队列放到参数的位置,所放到进程池中的子线程是不会运行的。
于是上网查找了一些资料,发现要用Manager
来管理multiprocessing.Queue
,这样线程池中的子线程才会运行。
代码如下:
无法运行的代码:
def x(q):print('hello,world')q = multiprocess.Queue(3)
pool = multiprocess.Pool(3)
for i in range(10):pool.apply_async(x, args=(q,))
pool.close()
pool.join()
上面的代码是不会运行的,最主要的原因就是进程中的参数队列在创建的时候没有用Manager
进行管理。
改成下面代码就会成功运行
def x(q):print('hello,world')m = multiprocess.Manager()
q = m.Queue(3)
pool = multiprocess.Pool(3)
for i in range(10):pool.apply_async(x, args=(q,))
pool.close()
pool.join()
此外我还遇到两种进程池中的进程不执行
- 在
pool.apply_async(target, args)
中的args参数元祖中,只有一个参数,但是参数后面没有加逗号。 - 使用了进程中的event()函数
python多进程子进程不运行问题相关推荐
- python多进程子进程不运行问题--未解决
在升级程序到 python3.9 后,异步非阻塞的子进程起不来了,实际代码在python3.6 版是可以运行的 : 程序逻辑及相关使用方式大概是这样的 def job(x):return x * xi ...
- python多进程运行死机_python多进程假死
结论:python多进程间用Queue通信时,如果子进程操作Queue满了或者内容比较大的情况下,该子进程会阻塞等待取走Queue内容(如果Queue数据量比较少,不会等待),如果调用join,主进程 ...
- python获取子进程返回值_Python 从subprocess运行的子进程中实时获取输出的例子 Python如何抓取程序的输出?...
关于python中用subprocess调用exe子进程的问题不懂我的人有什么资格对我指指点点,不了解我的人凭什么对我说三道四的. python杀死子进程后继续执行后面程序 程序a(python写成) ...
- python多进程卡死_python multiprocessing子进程hangs问题
0.前言 此文诞生源于python多进程的一个诡异表现,如果你使用pytho多进程过程中,发现子进程被挂起(一直处于Sleeping),请参考本文档. 本文先简单介绍python多进程常规用法,然后主 ...
- Python 多进程的进程池pool运行时报错:ValueError: Pool not running
本文仅供学习交流使用,如侵立删!demo下载见文末 Python 多进程的进程池pool运行时报错:ValueError: Pool not running def main(self, num):& ...
- Python 多进程笔记 — 启动进程的方式、守护进程、进程间通信、进程池、进程池之间通信、多进程生产消费模型
1 面向过程启动多进程 Python 操作进程的类都定义在 multiprocessing 模块,该模块提供了一个 Process 类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另 ...
- python多进程详解
目录 python多进程 序.multiprocessing 一.Process process介绍 例1.1:创建函数并将其作为单个进程 例1.2:创建函数并将其作为多个进程 例1.3:将进程定义为 ...
- Python 多进程开发与多线程开发
我们先来了解什么是进程? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程 ...
- python多进程_python语法:多进程
之前在一篇文章中写过,有关于Python线程的问题: 是枝裕和:内:用python多线程同时处理大量文件zhuanlan.zhihu.com 当然我的写的文章都是面对于一些初学者和python代码实 ...
最新文章
- C_functions
- 国内卫星通信技术发展及应用概述
- Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图、热图可视化
- 用户强烈反对产品改动,如何应对?
- 乐观锁与悲观锁各自适用场景是什么?
- my97DatePicker 自定义扩展方法(实现备忘录)
- matlab的annotation,科学网—annotation in matlab Graph - 夏靖的博文
- 485通讯的校验和_RS485通讯如何实现三菱PLC对三菱变频器的控制?
- 熟练计算机数字键盘,电脑键盘盲打及快速输入技巧【一】
- linux系统etc什么意思,etc.是什么意思 linux下的etc是什么意思
- SolarWinds 黑客攻击可能与 Turla APT 相关
- 图计算发展简史(1)
- 李宏毅机器学习(22)
- Socket 【网络通信 - Socket】
- sqlserver 日期比较
- 一些技术管理常见问题笔记
- SQL截取字符串,保留后几位
- 新闻|智链万源CEO董宁倾情加盟“产业区块链场景应用大课”
- PTS PCR DTS 详解
- 工业AI时代,大数据云平台未来5年迎最佳发展时机
热门文章
- OpenTracing语义标准
- S7-1200PLC 与温控仪表Modbus RTU通信
- 微信中的表情符号代码对照表
- 使用kubeadm部署k8s(2、k8s集群部署)
- Spring MVC 之 DispatcherServlet之主题
- 生僻字html乱码,Tomcat 5.5.X及以上版本的生僻字乱码解决办法
- 欢迎使用CSDN-markdown编辑器不啵啵啵啵啵啵啵啵啵啵啵啵
- 五大学科竞赛奖项&106所综合评价院校对照表(分省统计)
- laravel 一次对多个字段进行 increment 或者decrement 操作
- 虚拟机安装python3_虚拟机如何安装python