首页 Python Python:IPC-Pipe与IPC-Manger

Python:IPC-Pipe与IPC-Manger

1,IPC-PIPE:管道 pipefrom multiprocessing import Processfrom multiprocessing import Pipep1,p2 = Pipe() #支持双向通信# sendp1.send(菠萝蜜干)# recvprint(p2.recv())p2.send(酸奶)# p2.close()print(p1.recv())print(p1.recv()) #管道里没有值会报错

1,IPC-PIPE:

管道 pipe

multiprocessing multiprocessing = Pipe()
p1.send(

(p1.recv())

2,用管道也能实现生产者消费者模型

multiprocessing
produce,consume=
baozi=
( %

produce,consume= i
== produce,consume= lock = c1=Process(target=consumer,args=((produce,consume), c2=Process(target=consumer, p1=Process(target=producer,10

()

3,IPC-Manager

multiprocessing multiprocessing
3 == == m.dict({= Process(target=func,args=] =<span style=”color: #0000ff”>from multiprocessing <span style=”color: #0000ff”>import<span style=”color: #000000″> Manager,Process,Lock
<span style=”color: #0000ff”>def<span style=”color: #000000″> work(d,lock):
lock.acquire()
d[<span style=”color: #800000″>'<span style=”color: #800000″>count<span style=”color: #800000″>’] -= 1<span style=”color: #000000″>
lock.release()

<span style=”color: #0000ff”>if <span style=”color: #800080″>name == <span style=”color: #800000″>'<span style=”color: #800000″>main<span style=”color: #800000″>'<span style=”color: #000000″>:
lock=<span style=”color: #000000″> Lock()
m =<span style=”color: #000000″> Manager()
dic=m.dict({<span style=”color: #800000″>'<span style=”color: #800000″>count<span style=”color: #800000″>’:100}) <span style=”color: #008000″>#<span style=”color: #008000″> 共享的数据
l =<span style=”color: #000000″> []
<span style=”color: #0000ff”>for i <span style=”color: #0000ff”>in range(100<span style=”color: #000000″>):
p=Process(target=work,args=<span style=”color: #000000″>(dic,lock))
p.start()
l.append(p)
[p.join() <span style=”color: #0000ff”>for p <span style=”color: #0000ff”>in<span style=”color: #000000″> l]
<span style=”color: #0000ff”>print(dic)

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20200729/7333.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部