<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython.git/Doc/lib/libqueue.tex, branch v2.5b2</title>
<subtitle>
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/'/>
<entry>
<title>SF Patch #1455676:  Simplify using Queues with daemon consumer threads</title>
<updated>2006-03-24T20:43:29+00:00</updated>
<author>
<name>Raymond Hettinger</name>
<email>python@rcn.com</email>
</author>
<published>2006-03-24T20:43:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=71aca2f1b951d69d087cca671b9f4320eafeb75b'/>
<id>71aca2f1b951d69d087cca671b9f4320eafeb75b</id>
<content type='text'>
Adds join() and task_done() methods to track when all enqueued tasks have
been gotten and fully processed by daemon consumer threads.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds join() and task_done() methods to track when all enqueued tasks have
been gotten and fully processed by daemon consumer threads.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug #788520: Queue class has logic error when non-blocking</title>
<updated>2004-07-12T00:45:14+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2004-07-12T00:45:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=e9f58c40e20c3d3e1f1d15d9a14c0f3a29e6571e'/>
<id>e9f58c40e20c3d3e1f1d15d9a14c0f3a29e6571e</id>
<content type='text'>
I don't agree it had a bug (see the report), so this is *not* a candidate
for backporting, but the docs were confusing and the Queue implementation
was old enough to vote.

Rewrote put/put_nowait/get/get_nowait from scratch, to use a pair of
Conditions (not_full and not_empty), sharing a common mutex.  The code
is 1/4 the size now, and 6.25x easier to understand.  For blocking
with timeout, we also get to reuse (indirectly) the tedious timeout
code from threading.Condition.  The Full and Empty exceptions raised
by non-blocking calls are now easy (instead of nearly impossible) to
explain truthfully:  Full is raised if and only if the Queue truly
is full when the non-blocking put call checks the queue size, and
similarly for Empty versus non-blocking get.

What I don't know is whether the new implementation is slower (or
faster) than the old one.  I don't really care.  Anyone who cares
a lot is encouraged to check that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I don't agree it had a bug (see the report), so this is *not* a candidate
for backporting, but the docs were confusing and the Queue implementation
was old enough to vote.

Rewrote put/put_nowait/get/get_nowait from scratch, to use a pair of
Conditions (not_full and not_empty), sharing a common mutex.  The code
is 1/4 the size now, and 6.25x easier to understand.  For blocking
with timeout, we also get to reuse (indirectly) the tedious timeout
code from threading.Condition.  The Full and Empty exceptions raised
by non-blocking calls are now easy (instead of nearly impossible) to
explain truthfully:  Full is raised if and only if the Queue truly
is full when the non-blocking put call checks the queue size, and
similarly for Empty versus non-blocking get.

What I don't know is whether the new implementation is slower (or
faster) than the old one.  I don't really care.  Anyone who cares
a lot is encouraged to check that.
</pre>
</div>
</content>
</entry>
<entry>
<title>* Move collections.deque() in from the sandbox</title>
<updated>2004-01-29T06:37:52+00:00</updated>
<author>
<name>Raymond Hettinger</name>
<email>python@rcn.com</email>
</author>
<published>2004-01-29T06:37:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=7061d55274fc384817180e73130e35c1e19d52b5'/>
<id>7061d55274fc384817180e73130e35c1e19d52b5</id>
<content type='text'>
* Add unittests, newsitem, and whatsnew
* Apply to Queue.py mutex.py threading.py pydoc.py and shlex.py
* Docs are forthcoming
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add unittests, newsitem, and whatsnew
* Apply to Queue.py mutex.py threading.py pydoc.py and shlex.py
* Docs are forthcoming
</pre>
</div>
</content>
</entry>
<entry>
<title>Patch #572628: Optional timeouts for put and get.</title>
<updated>2002-10-15T15:11:13+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2002-10-15T15:11:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=da044b4b4070feb2ded6d4da64d18a740dd516ff'/>
<id>da044b4b4070feb2ded6d4da64d18a740dd516ff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add seealso link to the bisect module</title>
<updated>2002-06-26T05:22:08+00:00</updated>
<author>
<name>Skip Montanaro</name>
<email>skip@pobox.com</email>
</author>
<published>2002-06-26T05:22:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=14c6dbe5d9568fc2957332c297f5d41ff6edacdc'/>
<id>14c6dbe5d9568fc2957332c297f5d41ff6edacdc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed lots of small nits caught by Ka-Ping Yee &lt;ping@lfw.org&gt;.</title>
<updated>2000-10-10T17:03:45+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2000-10-10T17:03:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=47a07d43114e1671738e91b1a6609414cb7b1d18'/>
<id>47a07d43114e1671738e91b1a6609414cb7b1d18</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged changes from the 1.5.2p2 release.</title>
<updated>2000-04-03T20:13:55+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2000-04-03T20:13:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=f79f910e3db0f589305b3d30796c820629101528'/>
<id>f79f910e3db0f589305b3d30796c820629101528</id>
<content type='text'>
(Very rough.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(Very rough.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Update documentation to reflect changes to Queue.py by Tim Peters.</title>
<updated>1999-02-08T18:43:13+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>1999-02-08T18:43:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=17cdf108be2aa00b2546559e44c5cc6e511a1b45'/>
<id>17cdf108be2aa00b2546559e44c5cc6e511a1b45</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>New section header style.</title>
<updated>1998-08-10T19:42:37+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>1998-08-10T19:42:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=e689eedd6ff40b629ec975d9103677a6b09bba92'/>
<id>e689eedd6ff40b629ec975d9103677a6b09bba92</id>
<content type='text'>
Fix up a few synopses.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix up a few synopses.
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjusted to use the new module synopsis support macros.</title>
<updated>1998-07-23T17:59:49+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>1998-07-23T17:59:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=6229ad63bd5d9dd1dcc4c0a81af586812f9a1bb9'/>
<id>6229ad63bd5d9dd1dcc4c0a81af586812f9a1bb9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
