python 程序間通訊 佇列
阿新 • • 發佈:2021-01-06
技術標籤:python
程序間通訊
import multiprocessing
import os
import time
# 生產者
def producer(x):
for i in range(10):
time.sleep(0.5)
print('生產++++++++++PID:{} {}'.format(os.getpid(), i))
# 新增到佇列中
x.put('PID:{} {}'.format(os.getpid(), i))
# 消費者
def consumer(x):
for i in range(10):
time.sleep(0.4)
# 獲取佇列中資料
print('消費----------{}'.format(x.get()))
if __name__ == '__main__':
# 程序間通訊 佇列
q = multiprocessing.Queue()
# 啟動生產者 args = 傳遞引數 是一個元組
p1 = multiprocessing.Process(target=producer, args=(q,))
# p2 = multiprocessing.Process(target=producer, args=(q,))
# p3 = multiprocessing.Process(target=producer, args=(q,))
p1.start()
# p2.start()
# p3.start()
# 建立啟動 消費者 args = 傳遞引數 是一個元組
c1 = multiprocessing.Process(target=consumer, args=(q,))
c1.start()