from multiprocessing import Process,Queue
import time
def write(q):
for value in ["a", "b", "c"]:
print("开始写入", value)
q.put(value)
time.sleep(1)
def read1(q):
for x in range(3):
a = q.get()
print("读取到的值是: ", a)
q.put(a)
time.sleep(1)
def read2(q):
while True:
if not q.empty():
print("read2读取到是数字是: ", q.get())
time.sleep(1)
else:
break
if __name__ == '__main__':
q = Queue()
pw = Process(target=write, args=(q,))
pr1 = Process(target=read1, args=(q,))
pr2 = Process(target=read2, args=(q,))
pw.start()
pw.join()
pr1.start()
pr1.join()
pr2.start()
pr2.join()
print("OVER")
如果有2个接收方怎么办?python3.7,这个还能优化吗?
老师,queue中的消息,是有序的吗?还是无序的?