首页 > 编程语言 > 详细

python基础 多进程 进程间通信 multiprocess

时间:2020-03-18 00:30:55      阅读:77      评论:0      收藏:0      [点我收藏+]

有了之前多线程使用以及线程间queue的基础,多进程以及进程间通信就很好理解了,下面是多进程基本语法以及进程间通信简单示例

 1 #多进程基本语法
 2 import multiprocessing, time, os
 3 
 4 def process_test():
 5     time.sleep(3)
 6     print("my multiprocessing test")
 7     print("my pprocess id is",os.getppid())
 8     print("my process id is",os.getpid())
 9 
10 if __name__ == __main__: #多线程必须写在if __name__后面,为什么???
11     process = multiprocessing.Process(target=process_test) #启动子进程
12     process.start()
13 
14 #多进程间数据通信,多进程的queue实际上是python将一个queue序列化后再反序列化给其它进程
15 #定义一个函数,第一个形参传递一个进程queue
16 def m_queue_test(Queue, name):
17     Queue.put(("multiprocess queue test",name)) #put一次只能传递一个数据对象,多个对象必须使用列表 元组 字典等传递
18 
19 if __name__ == __main__:
20     q = multiprocessing.Queue() #主进程实例化一个进程queue
21     process2 = multiprocessing.Process(target=m_queue_test, args=(q, "zsq")) #将q传递给子进程,由子进程往里面传递数据
22     process2.start()
23     print(q.get())#主进程从queue里面读数据

 

 

python基础 多进程 进程间通信 multiprocess

原文:https://www.cnblogs.com/flags-blog/p/12514580.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!