<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 98.2 beta6 (August 14th, 1998)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>7.6 Queue --
A synchronized queue class.</TITLE>
<META NAME="description" CONTENT="7.6 Queue --
A synchronized queue class.">
<META NAME="keywords" CONTENT="lib">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="lib.css">
<LINK REL="next" HREF="module-anydbm.html">
<LINK REL="previous" HREF="module-threading.html">
<LINK REL="up" HREF="someos.html">
<LINK REL="next" HREF="QueueObjects.html">
</HEAD>
<BODY bgcolor="#ffffff">
<div class=navigation>
<table align=center width="100%" cellpadding=0 cellspacing=2>
<tr>
<td><A HREF="QueueObjects.html"><img width=32 height=32 align=bottom border=0 alt="next"
 src="../icons/next.gif"></A></td>
<td><A HREF="someos.html"><img width=32 height=32 align=bottom border=0 alt="up"
 src="../icons/up.gif"></A></td>
<td><A HREF="thread-objects.html"><img width=32 height=32 align=bottom border=0 alt="previous"
 src="../icons/previous.gif"></A></td>
<td align=center bgcolor="#99CCFF" width="100%">
 <b class=title>Python Library Reference</b></td>
<td><A HREF="contents.html"><img width=32 height=32 align=bottom border=0 alt="contents"
 src="../icons/contents.gif"></A></td>
<td><a
 href="modindex.html"><img width=32 height=32 align=bottom border=0 alt="modules"
 src="../icons/modules.gif"></a></td>
<td><A HREF="genindex.html"><img width=32 height=32 align=bottom border=0 alt="index"
 src="../icons/index.gif"></A></td>
</tr></table><b class=navlabel>Next:</b> <span class=sectref><A HREF="QueueObjects.html">7.6.1 Queue Objects</A></span>
<b class=navlabel>Up:</b> <span class=sectref><A HREF="someos.html">7. Optional Operating System</A></span>
<b class=navlabel>Previous:</b> <span class=sectref><A HREF="thread-objects.html">7.5.6 Thread Objects</A></span>
<br><hr></div>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION009600000000000000000">
7.6 <tt class=module>Queue</tt> --
         A synchronized queue class.</A>
</H1>

<P>

<P>
The <tt class=module>Queue</tt> module implements a multi-producer, multi-consumer
FIFO queue.  It is especially useful in threads programming when
information must be exchanged safely between multiple threads.  The
<tt class=class>Queue</tt> class in this module implements all the required locking
semantics.  It depends on the availability of thread support in
Python.

<P>
The <tt class=module>Queue</tt> module defines the following class and exception:

<P>
<dl><dt><b><a name="l2h-1376"><tt class=class>Queue</tt></a></b> (<var>maxsize</var>)
<dd>
Constructor for the class.  <var>maxsize</var> is an integer that sets the
upperbound limit on the number of items that can be placed in the
queue.  Insertion will block once this size has been reached, until
queue items are consumed.  If <var>maxsize</var> is less than or equal to
zero, the queue size is infinite.
</dl>

<P>
<dl><dt><b><a name="l2h-1377"><tt class=exception>Empty</tt></a></b>
<dd>
Exception raised when non-blocking <tt class=method>get()</tt> (or
<tt class=method>get_nowait()</tt>) is called on a <tt class=class>Queue</tt> object which is
empty or locked.
</dl>

<P>
<dl><dt><b><a name="l2h-1378"><tt class=exception>Full</tt></a></b>
<dd>
Exception raised when non-blocking <tt class=method>put()</tt> (or
<tt class=method>get_nowait()</tt>) is called on a <tt class=class>Queue</tt> object which is
full or locked.
</dl>

<P>

<p><hr>
<!--Table of Child-Links-->


<UL>
<LI><A NAME="tex2html2274"
 HREF="QueueObjects.html">7.6.1 Queue Objects</A>
</UL>
<!--End of Table of Child-Links-->
<p>
<div class=navigation><hr><table align=center width="100%" cellpadding=0 cellspacing=2>
<tr>
<td><A HREF="QueueObjects.html"><img width=32 height=32 align=bottom border=0 alt="next"
 src="../icons/next.gif"></A></td>
<td><A HREF="someos.html"><img width=32 height=32 align=bottom border=0 alt="up"
 src="../icons/up.gif"></A></td>
<td><A HREF="thread-objects.html"><img width=32 height=32 align=bottom border=0 alt="previous"
 src="../icons/previous.gif"></A></td>
<td align=center bgcolor="#99CCFF" width="100%">
 <b class=title>Python Library Reference</b></td>
<td><A HREF="contents.html"><img width=32 height=32 align=bottom border=0 alt="contents"
 src="../icons/contents.gif"></A></td>
<td><a
 href="modindex.html"><img width=32 height=32 align=bottom border=0 alt="modules"
 src="../icons/modules.gif"></a></td>
<td><A HREF="genindex.html"><img width=32 height=32 align=bottom border=0 alt="index"
 src="../icons/index.gif"></A></td>
</tr></table><b class=navlabel>Next:</b> <span class=sectref><A HREF="QueueObjects.html">7.6.1 Queue Objects</A></span>
<b class=navlabel>Up:</b> <span class=sectref><A HREF="someos.html">7. Optional Operating System</A></span>
<b class=navlabel>Previous:</b> <span class=sectref><A HREF="thread-objects.html">7.5.6 Thread Objects</A></span>
</div>
<!--End of Navigation Panel-->
<ADDRESS>
<hr>Send comments on this document to <a href="mailto:python-docs@python.org">python-docs@python.org</a>.
</ADDRESS>
</BODY>
</HTML>
