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编程入门的一些基本知识
May 13 Python
利用Python实现Windows定时关机功能
Mar 21 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 Python
python正则-re的用法详解
Jul 28 Python
Python3 翻转二叉树的实现
Sep 30 Python
Python列表去重复项的N种方法(实例代码)
May 12 Python
python能做哪些生活有趣的事情
Sep 09 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
pandas进行数据输入和输出的方法详解
Mar 23 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PDO::rollBack讲解
2019/01/29 PHP
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python变量的作用域是什么
2020/05/26 Python
为什么python比较流行
2020/06/19 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
python实现邮件循环自动发件功能
2020/09/11 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
人事档案接收函
2014/01/12 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
个人专业技术总结
2015/03/05 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python