diff options
author | Phillip J. Eby <pje@telecommunity.com> | 2006-03-28 00:13:10 (GMT) |
---|---|---|
committer | Phillip J. Eby <pje@telecommunity.com> | 2006-03-28 00:13:10 (GMT) |
commit | 168e99f6db1a207477fa02609663b66475bfd460 (patch) | |
tree | bbab8543cf33c8604053ee8079b4be0d45b489a5 /Doc/lib/libthreading.tex | |
parent | bdfd69380436bf9360f344a3823b3822cd5d6be7 (diff) | |
download | cpython-168e99f6db1a207477fa02609663b66475bfd460.zip cpython-168e99f6db1a207477fa02609663b66475bfd460.tar.gz cpython-168e99f6db1a207477fa02609663b66475bfd460.tar.bz2 |
Document objects that can be used with the ``with`` statement.
Diffstat (limited to 'Doc/lib/libthreading.tex')
-rw-r--r-- | Doc/lib/libthreading.tex | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Doc/lib/libthreading.tex b/Doc/lib/libthreading.tex index 33839a4..8fb3137 100644 --- a/Doc/lib/libthreading.tex +++ b/Doc/lib/libthreading.tex @@ -675,3 +675,26 @@ keyword arguments \var{kwargs}, after \var{interval} seconds have passed. Stop the timer, and cancel the execution of the timer's action. This will only work if the timer is still in its waiting stage. \end{methoddesc} + +\subsection{Using locks, conditions, and semaphores in the \keyword{with} +statement \label{with-locks}} + +All of the objects provided by this module that have \method{acquire()} and +\method{release()} methods can be used as context managers for a \keyword{with} +statement. The \method{acquire()} method will be called when the block is +entered, and \method{release()} will be called when the block is exited. + +Currently, \class{Lock}, \class{RLock}, \class{Condition}, \class{Semaphore}, +and \class{BoundedSemaphore} objects may be used as \keyword{with} +statement context managers. For example: + +\begin{verbatim} +from __future__ import with_statement +import threading + +some_rlock = threading.RLock() + +with some_rlock: + print "some_rlock is locked while this executes" +\end{verbatim} + |