Use multiprocessing.Pipe instead of queue.Queue