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基础教程之序列详解
Aug 29 Python
python3生成随机数实例
Oct 20 Python
Python实现的简单hangman游戏实例
Jun 28 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
Python基于mysql实现学生管理系统
Feb 21 Python
Python之NumPy(axis=0 与axis=1)区分详解
May 27 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
python实现while循环打印星星的四种形状
Nov 23 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 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/12/06 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
javascript 禁止复制网页
2009/06/11 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python列表append和+的区别浅析
2015/02/02 Python
浅谈对yield的初步理解
2017/05/29 Python
django使用xadmin的全局配置详解
2019/11/15 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
《争吵》教学反思
2014/02/15 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
《春天来了》教学反思
2014/04/07 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
golang生成并解析JSON
2022/04/14 Golang