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检测服务器是否正常
Feb 16 Python
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
python3爬虫怎样构建请求header
Dec 23 Python
python requests.post带head和body的实例
Jan 02 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
python图片二值化提高识别率代码实例
Aug 24 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
python 浮点数四舍五入需要注意的地方
Aug 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面向对象全攻略 (五) 封装性
2009/09/30 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
如何编写jquery插件
2017/03/29 jQuery
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
vue.js项目打包上线的图文教程
2017/11/16 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
python生成随机密码或随机字符串的方法
2015/07/03 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Django实现跨域的2种方法
2019/07/31 Python
Python多进程编程常用方法解析
2020/03/26 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
如何强制垃圾回收
2015/10/06 面试题
应届毕业生个人自我评价
2013/09/20 职场文书
社区服务标语
2014/07/01 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
python实现简单石头剪刀布游戏
2021/10/24 Python