有幾個消費者就需要傳送幾次結束訊號

2022-02-01 06:08:16 字數 1540 閱讀 6182

code

from

multiprocessing import process,queue

import time,random,os

def consumer(q):

while

true:

res=q.get

()

if res is none:break

#收到結束訊號則結束

time.sleep(random.randint(

1,3))

print(

'%s吃掉了 %s

' %(os.getpid(),res))

def producer(name,q):

for i in range(2

): time.sleep(random.randint(

1,3))

res='

%s%s

' %(name,i)

q.put(res)

print(

'%s生產了 %s

' %(os.getpid(),res))

if __name__ == '

__main__':

q=queue()

#生產者們:即廚師們

p1=process(target=producer,args=('a'

,q))

p2=process(target=producer,args=('b'

,q))

p3=process(target=producer,args=('c'

,q))

#消費者們:即吃貨們

c1=process(target=consumer,args=(q,))

c2=process(target=consumer,args=(q,))

#開始p1.start()

p2.start()

p3.start()

c1.start()

c2.start()

p1.join() #必須保證生產者全部生產完畢,才應該傳送結束訊號

p2.join()

p3.join()

q.put(none) #有幾個消費者就應該傳送幾次結束訊號none

q.put(none) #傳送結束訊號

print('主

')

outputs

macname@macdemacbook-pro py %python3 cccccc.py

58516生產了 a0

58518生產了 c0

58516生產了 a1

58517生產了 b0

58517生產了 b1

58519吃掉了 a0

58519吃掉了 a1

58518生產了 c1

58520吃掉了 c0

主58519吃掉了 b0

58519吃掉了 c1

58520吃掉了 b1

macname@macdemacbook-pro py %

資料洩露事件頻發,已引全球消費者關注

近期,安全支付公司 pci pal發表的最新研究表明,全球消費者對網路安全漏洞的思考和反應方式發生了重大變化。資料洩露事件頻發已經引起了人們關注,全球各國相繼制定了保護消費者資料隱私的各種法律法規 如加利福尼亞消費者隱私法 歐洲通用資料保護條例 加拿大個人資訊保護和電子檔案法 澳大利亞的消費者資料權...

六六接受京東道歉 讓消費者有美好消費體驗是最好結局

近日,作家六六再次炮轟京東,稱一位朋友在京東全球購遭遇商家售假,向京東客服和消協投訴後都未得到合理的處理結果。隨後,京東官方發布宣告,強調商家承認是發貨過程 現了失誤,並非售假,無權要程式設計客棧求商家提供十倍賠償。同時指出六六言辭與事實程式設計客棧出入較大並存在惡意詆毀,侵害了京東平台的信譽,將採...

達飛控股 保護消費者權益 促進金融行業健康發展

3 月 15 日,深圳達飛科技控股 下稱達飛控股 受邀參加了 2019 第六屆金融3 15 高峰論壇 此次論壇由中國人民大學法學院未來法治研究院 中國人民大學金融科技與網際網路安全研究中心 中國人民大學大資料區塊鏈與監管科技實驗室聯合主辦,邀請網際網路金融協會領導 法學專家 金融行業專家 互金行業企...