Exception in thread QueueFeederThread (most likely raised during interpreter shutdown)

MRAB python at mrabarnett.plus.com
Wed Feb 20 13:20:41 EST 2013


On 2013-02-20 08:26, Ziliang Chen wrote:
> Hi Guys,
> I am using the multiprocessing module. The following code snippet occasionally throws the "Exception in thread QueueFeederThread (most likely raised during interpreter shutdown)" exception.
>
> I searched google for the cause, someone says there are some issues with the multiprocessing.Queue (need do some sleep at where the queue is used).
>
> Could you please shed your light here, what is wrong, how can I use the multiprocess correctly ?
>
> Thanks very much !
>
> The python version is 2.6 and on Win7 x64 OS.
>
> ------------------
> from multiprocessing import Process,Queue
>
> def listTest(q):
>           print q.get()
>
> def queueTest():
>          q = Queue()
>          q.put([1,2,3,4,5,6])
>          p = Process(target=listTest,args=(q,))
>          p.start()
>          p.join()
>
> if __name__=='__main__':
>          queueTest()
>
> Exception in thread QueueFeederThread (most likely raised during interpreter shutdown):
>
I think it may be a race condition. When I tried it, sometimes it
failed, sometimes it didn't.

It seemed to be better behaved when I put a small sleep at the end to
delay the main process exiting.




More information about the Python-list mailing list