码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-03-18 00:07:08      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:multi   imp   nbsp   通信   理解   基本语法   ppi   put   多进程   

有了之前多线程使用以及线程间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

标签:multi   imp   nbsp   通信   理解   基本语法   ppi   put   多进程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!