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)

dawei

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