python 归纳 (二二)_多进程数据共享和同步_管道Pipe
# -*- coding: utf-8 -*- """ 多进程数据共享 管道Pipe逻辑:2个进程,各自发送数据到管道,对方从管道中取到数据总结:1、只适合两个进程2、recv 会阻塞3、其中一个进程结束了,管道还在,另外一个进程还能使用4、可以把管道认为一个队列, 发送数据端,往队列写数据接收数据端,从队列读数据,队列空了阻塞单向管道 1个队列,双向管道 2个队列使用:1. 创建2个管道的两端的对象 pipe_left_conn,pipe_right_conn = Pipe()2. 在两个进程中 分布 调用 收发命令 conn.send(messsage) con.recv()参考:Pipe对象返回的元组分别代表管道的两端,管道默认是全双工,两端都支持send和recv方法,两个进程分别操作管道两端时不会有冲突,两个进程对管道一端同时读写时可能会有冲突: """from multiprocessing import Process,Pipe# 子进程函数 def f(conn):conn.send("child send1")conn.send([2,'test',None])print(conn.recv())conn.close()if __name__ == "__main__":# 产生两个返回对象,一个是管道这一头,一个是另一头# 创建管道,拿到两端对象# 默认True,双向管道都能收发# Pipe(False)单向管道 左边只接收,右边只发送pipe_left_conn,pipe_right_conn = Pipe()p = Process(target=f,args=(pipe_right_conn,))p.start()print(pipe_left_conn.recv())pipe_left_conn.send('\nfather send')p.join()# 注意,子进程已经结束了,但是管理里的数据还在print(pipe_left_conn.recv())# print(parent_conn.recv()) # 此时管道空了,会阻塞 pipe_left_conn.close()pipe_right_conn.close()""" Out:child send1father send [2, 'test', None] """
转载于:https://www.cnblogs.com/sunzebo/p/9635910.html
python 归纳 (二二)_多进程数据共享和同步_管道Pipe相关推荐
- python多进程存储数据_[b0035] python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
1. Code #-*- coding: utf-8 -*- """多进程 数据共享 共享变量 Value,Array 逻辑: 2个进程,对同一份数据,一个做加法,一个做 ...
- python多进程内存共享_python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
# -*- coding: utf-8 -*- """ 多进程 数据共享 共享变量 Value,Array 逻辑: 2个进程,对同一份数据,一个做加法,一个做加法,各做1 ...
- python 归纳 (二五)_多进程数据共享和同步_信号量Semaphore
# -*- coding: utf-8 -*- """ 多进程同步 使用信号量 multiprocessing.Semaphore逻辑:启动5个进程,打印,每个各自睡眠2 ...
- python 归纳 (十二)_并发队列Queue的使用
# -*- coding: UTF-8 -*- """ 学习队列 Queue总结:1. 队列可以设置大小,也可以无限大小2. 空了,满了,读写时可以阻塞,也可以报错3. ...
- python拟牛顿法迭代点绘制_最速下降法、牛顿法、拟牛顿法,Python实现高维二次目标函数优化...
原理什么的就不说了,只有代码... 十元二次目标函数,求极小值点. 1.最速下降法 import random import numpy as np import matplotlib.pyplot ...
- 【python】详解multiprocessing多进程-Pool进程池模块(二)
[python]详解multiprocessing多进程-process模块(一) [python]详解multiprocessing多进程-Pool进程池模块(二) [python]详解multip ...
- 深入浅出python机器学习_如何用python画(绘制)二维函数(二维图)?
参考文档 python 如何绘制二维函数? from matplotlib import pyplot as plt import numpy as np low=lambda x:10000 if ...
- python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...
2009 doi :10 1 3969/ j 1 issn 1 1007 2 2012 1 2009 1 04 1 013 基于 Python 的 ABAQUS 二次开发及在板料快速 冲压成形模拟中的 ...
- python对abaqus本构二次开发_基于Python的Abaqus二次开发实例讲解
第 1 页 共 11 页 基于 Python 的 Abaqus 二次开发实例讲解 ( asian58 2013.6.26 ) 基于 Python 的 Abaqus 的二次开发便捷之处在于: 1 .所有 ...
最新文章
- ASP.netcore MVC钉钉H5微应用(二)鉴权
- 用__builtin_return_address获得程序运行栈情况【转】
- CentOS 5.5升级内核到2.6.35.4
- AngularJS操作DOM——angular.element
- python 递归函数与循环的区别_提升Python效率之使用循环机制代替递归函数
- python判断性别程序_python 实现性别识别
- kido机器人没反应_机器人不能钩的三个英雄,章鱼妈上榜,钩中图四我方直接团灭!...
- mysql逻辑读高影响_运维日记| MySQL/Oracle深度解析之一:逻辑读
- win11任务栏怎么隐藏 Windows11隐藏任务栏的设置方法
- 微信小程序中多个button/view组件中进行切换时改变样式
- 数据结构视频|408视频|计算机组成原理视频|计算机网络视频
- 虽迟但到,手眼标定代码实现篇
- Ehcache 的简单使用
- Ubuntu下使用外置USB无线网卡
- golang的json的时间格式化解决方案
- 三分钟基础:CPU 到底是怎么认识代码的?
- 基于C语言的彩票开奖小程序(附源码)_☆*往事随風*☆的博客
- xp系统无法连接到指定计算机名,winxp系统提示windows无法访问指定设备路径或文件如何解决...
- android 短视频例子,Android短视频开发解析,什么才是开发的重点
- MOOS-ivp中文手册参考
热门文章
- 使用 ZFS 的 Ubuntu 20.10 安装工具默认启用 TRIM
- VS Code 翻译插件
- Win 10 更新,Linux 内核的 WSL 2 开始上线
- .net core下简单构建高可用服务集群
- starima与arima 预测_38-一些预测模型与方法简介(ARIMA、指数平滑等)
- 前端ajax数据提交到服务器_详解前端如何让服务器主动向浏览器推送数据
- java 自动生成mybatis文件_如何自动生成Mybatis的Mapper文件详解
- notepad批量删除html元素,Notepad++几个常用删除类正则表达式汇总(收藏)
- matlab有限元分析与应用_专栏 | UEL用户子程序开发步骤—有限元理论基础及Abaqus内部实现方式研究系列20...
- 2020年最好用的手机是哪一款_2020年入手5G手机最佳时期到了:5款最佳手机,您认可哪款...