from multiprocessing import Process from multiprocessing import Queue from time import sleep def send(queue): while True: data = [1,2,3,4] queue.put(data) sleep(0) data.clear() def recv(queue): while True: data = queue.get() print('Received data: {}'.format(data)) if __name__ == '__main__': q = Queue() p1 = Process(target=send, args=(q,)) p2 = Process(target=recv, args=(q,)) p1.start() p2.start() sleep(1) p1.join() p2.join()