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 相关文章推荐
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
Python之web模板应用
Dec 26 Python
python使用xslt提取网页数据的方法
Feb 23 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python实现自动发送报警监控邮件
Jun 21 Python
python 实现dict转json并保存文件
Dec 05 Python
Pytorch中.new()的作用详解
Feb 18 Python
Python拼接字符串的7种方式详解
Mar 19 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
OpenCV-Python实现油画效果的实例
Jun 08 Python
python自动计算图像数据集的RGB均值
Jun 18 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
php中生成随机密码的自定义函数代码
2013/10/21 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python分治法定义与应用实例详解
2017/07/28 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
利用python画出折线图
2018/07/26 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python 没有main函数的原因
2020/07/10 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
Pandas之缺失数据的实现
2021/01/06 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
人事主管的岗位职责
2013/11/16 职场文书
房屋委托书范本
2014/04/04 职场文书
酒店管理求职信
2014/06/09 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
区域销售大会开幕词
2016/03/04 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python