This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Garrett.Moore
Recipients Garrett.Moore, docs@python
Date 2012-03-06.00:32:41
SpamBayes Score 7.4929434e-05
Marked as misclassified No
Message-id <1330993962.13.0.893864771053.issue14206@psf.upfronthosting.co.za>
In-reply-to
Content
1) If cancel_join_thread() is called, data may be lost. This is not explicitly stated. I had multiple writers put() data in a Queue, and wanted to have the workers finish before I began consuming the data. This caused a deadlock because my Queue was not empty, and it seemed like the a way to force my workers finish was to use cancel_join_thread(). This caused data loss.

2) multiprocessing.Queue states "The Queue class is a near clone of Queue.Queue."

Queue.Queue states "If maxsize is less than or equal to zero, the queue size is infinite."

mp.Queue provides no information on queue size. It is reasonable to assume then that it inherits the property of Queue.Queue.

After discussion on IRC, it seems that mp.Queue maximum size is implementation-dependent and likely relies on how much data Pipes can hold on your platform. If this is the case there should be some mention of the fact that mp.Queue does NOT function like Queue.Queue does for maximum size.
History
Date User Action Args
2012-03-06 00:32:42Garrett.Mooresetrecipients: + Garrett.Moore, docs@python
2012-03-06 00:32:42Garrett.Mooresetmessageid: <1330993962.13.0.893864771053.issue14206@psf.upfronthosting.co.za>
2012-03-06 00:32:41Garrett.Moorelinkissue14206 messages
2012-03-06 00:32:41Garrett.Moorecreate