Coordinate coroutines with synchronization primitives analogous to those the
standard library provides to threads.
-*(Note that these primitives are not actually thread-safe and cannot be used in
-place of those from the standard library--they are meant to coordinate Tornado
-coroutines in a single-threaded app, not to protect shared objects in a
-multithreaded app.)*
+.. warning::
+
+ Note that these primitives are not actually thread-safe and cannot be used in
+ place of those from the standard library--they are meant to coordinate Tornado
+ coroutines in a single-threaded app, not to protect shared objects in a
+ multithreaded app.
.. automodule:: tornado.locks
# License for the specific language governing permissions and limitations
# under the License.
+"""Asynchronous queues for coroutines.
+
+.. warning::
+
+ Unlike the standard library's `queue` module, the classes defined here
+ are *not* thread-safe. To use these queues from another thread,
+ use `.IOLoop.add_callback` to transfer control to the `.IOLoop` thread
+ before calling any queue methods.
+"""
+
from __future__ import absolute_import, division, print_function, with_statement
import collections