神剑山庄资源网 Design By www.hcban.com
仔细说来,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里面读数据
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无Python进程间通信multiprocess代码实例的评论...
更新日志
2024年11月18日
2024年11月18日
- 群星《奔赴!万人现场 第4期》[320K/MP3][80.75MB]
- 林琳《独角戏HQ》WAV
- FIM-《Super-Sound-3》声霸3[WAV+CUE]
- 喇叭花-绝版天碟《我的碟“MyDisc”》[正版原抓WAV+CUE]
- 陈慧琳.1999-真感觉【正东】【WAV+CUE】
- 徐玮.1986-走自己的路(喜玛拉雅复刻版)【同心圆】【WAV+CUE】
- 林海峰.2003-我撑你【EMI百代】【WAV+CUE】
- 群星《奔赴!万人现场 第4期》[FLAC/分轨][454.89MB]
- 腾讯音乐人《未来立体声·Stereo Future VOL.12》[320K/MP3][62.37MB]
- 腾讯音乐人《未来立体声·Stereo Future VOL.12》[FLAC/分轨][176.46MB]
- 房东的猫2020-这是你想要的生活吗[青柴文化][WAV+CUE]
- 黄乙玲1990-春风恋情[日本东芝版][WAV+CUE]
- 黑鸭子2006-红色经典特别版[首版][WAV+CUE]
- 赵乃吉《你不是风平浪静的海》[320K/MP3][84.88MB]
- 赵乃吉《你不是风平浪静的海》[FLAC/分轨][176.46MB]