Python 进程间通信:为什么我的 Pipe 接收不到子进程消息?
python进程间通信pipe无法收到消息探因
在使用pipe进行python进程间通信时,许多开发者会遇到父进程无法收到子进程发送消息的情况。出现这种情况,一个关键的问题在于子进程参数传递不当。
在提供的代码中,子进程的函数fun没有接收到pipe对象的引用。因此,子进程无法将消息写入pipe。为了解决此问题,需要将pipe对象作为参数传递给子进程:
p = process(target=fun, args=(i, fd1))
这样,子进程将接收i和fd1两个参数,可以通过后者向pipe写入消息:
立即学习“Python免费学习笔记(深入)”;
def fun(name, fd1): time.sleep(3) # 向管道写入内容 fd1.send({name: os.getpid()})
文章推荐
-
Python - 检查字符串中的所有字符是否都是字母数字?
要检查字符串中的所有字符是否都是字母数字,我们也可以使用 Python 和 Regex 中的 isalnum() 方法。...
Python
27秒前 0 -
高级Python元编程:动态代码生成和反射
Python 是一种灵活的编程语言,为开发人员提供了广泛的功能和工具。其强大的功能包括元编程——一种先进的技术,使开发人...
Python
1分钟前 0 -
如何在Python中实现梯度下降算法以寻找局部最小值?
梯度下降是机器学习中一种重要的优化方法,用于最小化模型的损失函数。通俗地说,它需要反复改变模型的参数,直到找到最小化损失...
Python
3分钟前 0 -
Python程序删除数组中的重复元素
数组是相同数据类型的元素的集合,数组中的每个元素都由一个索引值来标识。它是一种最简单的数据结构,其中每个数据元素只需使用...
Python
3分钟前 0 -
使用Networxx模块的超链接诱导主题搜索(HITS)算法- Python
超链接诱导主题搜索(HITS)算法是一种用于网络链接分析的流行算法,特别是在搜索引擎排名和信息检索中。 HITS 通过分...
Python
4分钟前 0
最新文章
- Python - 检查字符串中的所有字符是否都是字母数字? 27秒前
- 高级Python元编程:动态代码生成和反射 1分钟前
- 如何在Python中实现梯度下降算法以寻找局部最小值? 3分钟前
- Python程序删除数组中的重复元素 3分钟前
- 使用Networxx模块的超链接诱导主题搜索(HITS)算法- Python 4分钟前
- 使用索引列表在Python中查找元素的乘积 5分钟前
- 在Python中打印字符串的所有子序列 5分钟前
- 使用Python从字符串的末尾删除给定的子字符串 6分钟前
- 2020年适用于Linux程序员的10个最佳Python集成开发环境 7分钟前
- 获取字典中的第一个和最后一个元素的Python程序 7分钟前