python进程笔记

一、创建进程


from builtins import print, range, super
from multiprocessing.context import Process
import time


def f(name):
time.sleep(1)
print('hello', name, time.ctime())
if __name__ == '__main__':
p_list = []
for i in range(5):
p = Process(target=f,args=('linda',))
p_list.append(p)
p.start()
for i in p_list:
i.join()
print('end')
类方式
class MyProcess(Process):
def __init__(self,name):
super(MyProcess, self).__init__()
self.name = name
def run(self):
print('hello',self.name,time.ctime())
list = []
if __name__ == '__main__':
for i in range(5):
p = MyProcess('linda')
p.run()
二、进程的队列(跟之前的队列无关)--》实现进程间的数据共享
def f(q):
q.put('aa')
print(id(q))
if __name__ == '__main__':
q = Queue()
print(id(q))
for i in range(3):
p = Process(target=f,args=(q,))
p.run()

使用Pipe管道实现多进程通信
def f(conn):
conn.send('我是子进程')
conn.close()
if __name__ == '__main__':
parent_conn,child_conn = Pipe()
p = Process(target=f,args=(child_conn,))
p.start()
print(parent_conn.recv())
p.join()



posted on 2021-03-01 15:27  bruce.sharp  阅读(82)  评论(0)    收藏  举报