import multiprocessing import threading import time queue = multiprocessing.SimpleQueue() def consume(): while True: print(queue.get()) def proc(): queue.put("Proc: " + str(time.time())) time.sleep(1) if __name__ == "__main__": consumer = threading.Thread(target=consume, daemon=True) consumer.start() while True: queue.put("Main: " + str(time.time())) p = multiprocessing.Process(target=proc) p.start() p.join()