\section{\module{dummy_threading} ---
         Drop-in replacement for the \module{threading} module}

\declaremodule[dummythreading]{standard}{dummy_threading}
\modulesynopsis{Drop-in replacement for the \refmodule{threading} module.}

This module provides a duplicate interface to the
\refmodule{threading} module.  It is meant to be imported when the
\refmodule{thread} module is not provided on a platform.

Suggested usage is:

\begin{verbatim}
try:
    import threading as _threading
except ImportError:
    import dummy_threading as _threading
\end{verbatim}

Be careful to not use this module where deadlock might occur from a thread 
being created that blocks waiting for another thread to be created.  This 
often occurs with blocking I/O.
