Python进程间通信multiprocess代码实例


Posted in Python onMarch 18, 2020

仔细说来,multiprocess不是一个模块而是python中一个操作、管理进程的包。 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块。由于提供的子模块非常多,为了方便大家归类记忆,我将这部分大致分为四个部分:创建进程部分,进程同步部分,进程池部分,进程之间数据共享。重点强调:进程没有任何共享状态,进程修改的数据,改动仅限于该进程内,但是通过一些特殊的方法,可以实现进程之间数据的共享。

有了之前多线程使用以及线程间queue的基础,多进程以及进程间通信就很好理解了,下面是多进程基本语法以及进程间通信简单示例

#多进程基本语法
import multiprocessing, time, os

def process_test():
  time.sleep(3)
  print("my multiprocessing test")
  print("my pprocess id is",os.getppid())
  print("my process id is",os.getpid())

if __name__ == '__main__': #多线程必须写在if __name__后面,为什么???
  process = multiprocessing.Process(target=process_test) #启动子进程
  process.start()

#多进程间数据通信,多进程的queue实际上是python将一个queue序列化后再反序列化给其它进程
#定义一个函数,第一个形参传递一个进程queue
def m_queue_test(Queue, name):
  Queue.put(("multiprocess queue test",name)) #put一次只能传递一个数据对象,多个对象必须使用列表 元组 字典等传递

if __name__ == '__main__':
  q = multiprocessing.Queue() #主进程实例化一个进程queue
  process2 = multiprocessing.Process(target=m_queue_test, args=(q, "zsq")) #将q传递给子进程,由子进程往里面传递数据
  process2.start()
  print(q.get())#主进程从queue里面读数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基础之函数用法实例详解
Sep 10 Python
基于python编写的微博应用
Oct 17 Python
简单介绍Python中的filter和lambda函数的使用
Apr 07 Python
老生常谈进程线程协程那些事儿
Jul 24 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
python实现简单flappy bird
Dec 24 Python
python scp 批量同步文件的实现方法
Jan 03 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
Python yield的用法实例分析
Mar 06 Python
python解决12306登录验证码的实现
Apr 18 Python
将Python代码打包成.exe可执行文件的完整步骤
May 12 Python
python实现超级玛丽游戏
Mar 18 #Python
python实现超级马里奥
Mar 18 #Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 #Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 #Python
Python Selenium安装及环境配置的实现
Mar 17 #Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 #Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 #Python
You might like
php中文件上传的安全问题
2006/10/09 PHP
ucenter通信原理分析
2015/01/09 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
Python自动连接ssh的方法
2015/03/07 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
大学生的网上创业计划书
2013/12/31 职场文书
社区母亲节活动记录
2014/03/06 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
关于感谢信的范文
2015/01/23 职场文书
小学毕业感言200字
2015/07/30 职场文书
暑假生活随笔
2015/08/15 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js