python进程间通信 listener_python 进程间的通信

#进程有三种方式进行通信

#通过进程队列Queue来实现进程间的通信

# import time

# import multiprocessing

# def foo(q):

# time.sleep(1)

# print("son process:",id(q))

# q.put(123)

# q.put("jack")

#

#

#

# if __name__ == '__main__':

# q=multiprocessing.Queue()

# p=multiprocessing.Process(target=foo,args=(q,))

# p.start()

#

# print("main process:",id(q))

# print(q.get())

# print(q.get())

#2通过管道pipe在实现进程间的通信

# from multiprocessing import Process,Pipe

# def f(conn):

# conn.send([12,{"name":"yuan"},'hello'])

# response=conn.recv()

# print("response:",response) #print Son Hello!

# conn.close()

# # print("q_Id2:",id(child_conn))

#

# if __name__ == '__main__':

# parent_conn,child_conn=Pipe() #双向管道

# # print("q_Id1:",id(parent_conn))

# p=Process(target=f,args=(child_conn,))

# p.start()

#

# print(parent_conn.recv()) #print [12,{"name":"yuan"},'hello']

# parent_conn.send("Son Hello!")

# p.join()

#3.通过Magager来实现进程数据共享

# from multiprocessing import Process,Manager

#

# def f (d,l,n):

# d[n]='1' #{0:"1"}

# d['2']=2 #{0:"1","2":2}

# l.append(n) #[0,1,2,3,4, 0,1,2,3,4,5,6,7,8,9]

# print('Son Process:',id(d),id(l))

#

#

# if __name__ == '__main__':

# with Manager() as manager:

# d = manager.dict() #{}

# l = manager.list(range(5)) #[0,1,2,3,4]

# print("main process:",id(d),id(l))

#

# p_list= []

#

# for i in range(10):

# p = Process(target=f,args=(d,l,i))

# p.start()

# p_list.append(p)

#

# for res in p_list:

# res.join()

# print(l)

# print(d)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值