Code
import multiprocessing
queue = multiprocessing.Queue(3)
def write_queue(q):
data = [i for i in range(10)]
for msg in data:
q.put(msg)
q.put(None)
def read_queue(q):
data = list()
while True:
msg = q.get()
if msg is None:
break
data.append(msg)
print("in read_queue function data is {}".format(data))
if __name__ == '__main__':
process_write = multiprocessing.Process(target=write_queue, args=(queue,))
process_read = multiprocessing.Process(target=read_queue, args=(queue,))
for process in [process_write, process_read]:
process.start()