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 31 Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
python制作最美应用的爬虫
Oct 28 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
python二进制文件的转译详解
Jul 03 Python
wxPython实现绘图小例子
Nov 19 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书写格式详解(必看)
2016/05/23 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
javascript instanceof 内部机制探析
2010/10/15 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
Python解惑之整数比较详解
2017/04/24 Python
python实现黑客字幕雨效果
2018/06/21 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python语言基本语句用法总结
2019/06/11 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
Django中使用Json返回数据的实现方法
2020/06/03 Python
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
工商学院毕业生个人自我评价
2013/09/19 职场文书
网络程序员自荐信
2014/01/25 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
团队队名口号大全
2014/06/06 职场文书
总经理司机岗位职责
2015/04/10 职场文书
观后感的写法
2015/06/19 职场文书
参加招聘会后的感想
2015/08/10 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP