'''
进程间共享队列(先进先出)
'''
import multiprocessing
from queue import Empty, Full
import time
def writeData(queue, event):
for i in range(10):
try:
queue.put("hello-%d" % (i), block=False, timeout=1)
event.set()
print("hello-%d 已放入" % (i))
time.sleep(1)
except Full:
print("该死的列表已满")
pass
pass
def readData(queue, event):
for i in range(10):
event.wait()
try:
print(queue.get(timeout=1), "end")
time.sleep(2)
except Empty:
print("该死的列表已空!")
pass
pass
if __name__ == "__main__":
event = multiprocessing.Event()
pqueue = multiprocessing.Queue(maxsize=5)
multiprocessing.Process(target=writeData, args=(pqueue, event)).start()
multiprocessing.Process(target=readData, args=(pqueue, event)).start()
print("main over")