Strange Queue.PriorityQueue behaviour with multiprocessing in Python 2.7.6
As you know from the title, I'm trying to use PriorityQueue with multiprocessing. More precisely, I wanted to make shared PriorityQueue, wrote some code and it doesn't run as I expected. Look at the code: import time from multiprocessing import Process, Lock from Queue import PriorityQueue def worker(queue): lock = Lock() with lock: for i in range(100): queue.put(i) print "worker", queue.qsize() pr_queue = PriorityQueue() worker_process = Process(target = worker, args = (pr_queue,)) worker_process.start() time.sleep(5) # nope, race condition, you shall not pass (probably) print "main", pr