mirror of https://github.com/python/cpython
add aliases to threading module
This commit is contained in:
parent
0fbcf69455
commit
f439560265
|
@ -13,10 +13,16 @@ See also the :mod:`mutex` and :mod:`Queue` modules.
|
||||||
The :mod:`dummy_threading` module is provided for situations where
|
The :mod:`dummy_threading` module is provided for situations where
|
||||||
:mod:`threading` cannot be used because :mod:`thread` is missing.
|
:mod:`threading` cannot be used because :mod:`thread` is missing.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
In 3.x, names in camelCase have been renamed to their underscored
|
||||||
|
equivelents. Both names are availble in 2.6.
|
||||||
|
|
||||||
This module defines the following functions and objects:
|
This module defines the following functions and objects:
|
||||||
|
|
||||||
|
|
||||||
.. function:: active_count()
|
.. function:: active_count()
|
||||||
|
activeCount()
|
||||||
|
|
||||||
Return the number of :class:`Thread` objects currently alive. The returned
|
Return the number of :class:`Thread` objects currently alive. The returned
|
||||||
count is equal to the length of the list returned by :func:`enumerate`.
|
count is equal to the length of the list returned by :func:`enumerate`.
|
||||||
|
@ -31,6 +37,7 @@ This module defines the following functions and objects:
|
||||||
|
|
||||||
|
|
||||||
.. function:: current_thread()
|
.. function:: current_thread()
|
||||||
|
currentThread()
|
||||||
|
|
||||||
Return the current :class:`Thread` object, corresponding to the caller's thread
|
Return the current :class:`Thread` object, corresponding to the caller's thread
|
||||||
of control. If the caller's thread of control was not created through the
|
of control. If the caller's thread of control was not created through the
|
||||||
|
@ -396,6 +403,7 @@ needs to wake up one consumer thread.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Condition.notify_all()
|
.. method:: Condition.notify_all()
|
||||||
|
Condition.notifyAll()
|
||||||
|
|
||||||
Wake up all threads waiting on this condition. This method acts like
|
Wake up all threads waiting on this condition. This method acts like
|
||||||
:meth:`notify`, but wakes up all waiting threads instead of one. If the calling
|
:meth:`notify`, but wakes up all waiting threads instead of one. If the calling
|
||||||
|
@ -498,7 +506,8 @@ An event object manages an internal flag that can be set to true with the
|
||||||
The internal flag is initially false.
|
The internal flag is initially false.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Event.isSet()
|
.. method:: Event.is_set()
|
||||||
|
Event.isSet()
|
||||||
|
|
||||||
Return true if and only if the internal flag is true.
|
Return true if and only if the internal flag is true.
|
||||||
|
|
||||||
|
@ -638,11 +647,13 @@ impossible to detect the termination of alien threads.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.get_name()
|
.. method:: Thread.get_name()
|
||||||
|
Thread.getName()
|
||||||
|
|
||||||
Return the thread's name.
|
Return the thread's name.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.set_same(name)
|
.. method:: Thread.set_name(name)
|
||||||
|
Thread.setName(name)
|
||||||
|
|
||||||
Set the thread's name.
|
Set the thread's name.
|
||||||
|
|
||||||
|
@ -651,7 +662,7 @@ impossible to detect the termination of alien threads.
|
||||||
constructor.
|
constructor.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.get_ddent()
|
.. method:: Thread.get_ident()
|
||||||
|
|
||||||
Return the 'thread identifier' of this thread or None if the thread has not
|
Return the 'thread identifier' of this thread or None if the thread has not
|
||||||
been started. This is a nonzero integer. See the :func:`thread.get_ident()`
|
been started. This is a nonzero integer. See the :func:`thread.get_ident()`
|
||||||
|
@ -663,6 +674,7 @@ impossible to detect the termination of alien threads.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.is_alive()
|
.. method:: Thread.is_alive()
|
||||||
|
Thread.isAlive()
|
||||||
|
|
||||||
Return whether the thread is alive.
|
Return whether the thread is alive.
|
||||||
|
|
||||||
|
@ -672,11 +684,13 @@ impossible to detect the termination of alien threads.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.is_daemon()
|
.. method:: Thread.is_daemon()
|
||||||
|
Thread.isDaemon()
|
||||||
|
|
||||||
Return the thread's daemon flag.
|
Return the thread's daemon flag.
|
||||||
|
|
||||||
|
|
||||||
.. method:: Thread.set_daemon(daemonic)
|
.. method:: Thread.set_daemon(daemonic)
|
||||||
|
Thread.setDaemon(daemonic)
|
||||||
|
|
||||||
Set the thread's daemon flag to the Boolean value *daemonic*. This must be
|
Set the thread's daemon flag to the Boolean value *daemonic*. This must be
|
||||||
called before :meth:`start` is called, otherwise :exc:`RuntimeError` is raised.
|
called before :meth:`start` is called, otherwise :exc:`RuntimeError` is raised.
|
||||||
|
|
|
@ -9,6 +9,8 @@ except ImportError:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
from functools import wraps
|
||||||
from time import time as _time, sleep as _sleep
|
from time import time as _time, sleep as _sleep
|
||||||
from traceback import format_exc as _format_exc
|
from traceback import format_exc as _format_exc
|
||||||
from collections import deque
|
from collections import deque
|
||||||
|
@ -31,6 +33,18 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
|
||||||
module='threading', message='sys.exc_clear')
|
module='threading', message='sys.exc_clear')
|
||||||
|
|
||||||
|
|
||||||
|
def _old_api(callable, old_name):
|
||||||
|
if not _sys.py3kwarning:
|
||||||
|
return callable
|
||||||
|
@wraps(callable)
|
||||||
|
def old(*args, **kwargs):
|
||||||
|
warnings.warnpy3k("In 3.x, {0} is renamed to {1}."
|
||||||
|
.format(old_name, callable.__name__),
|
||||||
|
stacklevel=3)
|
||||||
|
return callable(*args, **kwargs)
|
||||||
|
old.__name__ = old_name
|
||||||
|
return old
|
||||||
|
|
||||||
# Debug support (adapted from ihooks.py).
|
# Debug support (adapted from ihooks.py).
|
||||||
# All the major classes here derive from _Verbose. We force that to
|
# All the major classes here derive from _Verbose. We force that to
|
||||||
# be a new-style class so that all the major classes here are new-style.
|
# be a new-style class so that all the major classes here are new-style.
|
||||||
|
@ -274,6 +288,8 @@ class _Condition(_Verbose):
|
||||||
def notify_all(self):
|
def notify_all(self):
|
||||||
self.notify(len(self.__waiters))
|
self.notify(len(self.__waiters))
|
||||||
|
|
||||||
|
notifyAll = _old_api(notify_all, "notifyAll")
|
||||||
|
|
||||||
|
|
||||||
def Semaphore(*args, **kwargs):
|
def Semaphore(*args, **kwargs):
|
||||||
return _Semaphore(*args, **kwargs)
|
return _Semaphore(*args, **kwargs)
|
||||||
|
@ -353,6 +369,8 @@ class _Event(_Verbose):
|
||||||
def is_set(self):
|
def is_set(self):
|
||||||
return self.__flag
|
return self.__flag
|
||||||
|
|
||||||
|
isSet = _old_api(is_set, "isSet")
|
||||||
|
|
||||||
def set(self):
|
def set(self):
|
||||||
self.__cond.acquire()
|
self.__cond.acquire()
|
||||||
try:
|
try:
|
||||||
|
@ -635,10 +653,14 @@ class Thread(_Verbose):
|
||||||
assert self.__initialized, "Thread.__init__() not called"
|
assert self.__initialized, "Thread.__init__() not called"
|
||||||
return self.__name
|
return self.__name
|
||||||
|
|
||||||
|
getName = _old_api(get_name, "getName")
|
||||||
|
|
||||||
def set_name(self, name):
|
def set_name(self, name):
|
||||||
assert self.__initialized, "Thread.__init__() not called"
|
assert self.__initialized, "Thread.__init__() not called"
|
||||||
self.__name = str(name)
|
self.__name = str(name)
|
||||||
|
|
||||||
|
setName = _old_api(set_name, "setName")
|
||||||
|
|
||||||
def get_ident(self):
|
def get_ident(self):
|
||||||
assert self.__initialized, "Thread.__init__() not called"
|
assert self.__initialized, "Thread.__init__() not called"
|
||||||
return self.__ident
|
return self.__ident
|
||||||
|
@ -647,10 +669,14 @@ class Thread(_Verbose):
|
||||||
assert self.__initialized, "Thread.__init__() not called"
|
assert self.__initialized, "Thread.__init__() not called"
|
||||||
return self.__started.is_set() and not self.__stopped
|
return self.__started.is_set() and not self.__stopped
|
||||||
|
|
||||||
|
isAlive = _old_api(is_alive, "isAlive")
|
||||||
|
|
||||||
def is_daemon(self):
|
def is_daemon(self):
|
||||||
assert self.__initialized, "Thread.__init__() not called"
|
assert self.__initialized, "Thread.__init__() not called"
|
||||||
return self.__daemonic
|
return self.__daemonic
|
||||||
|
|
||||||
|
isDaemon = _old_api(is_daemon, "isDaemon")
|
||||||
|
|
||||||
def set_daemon(self, daemonic):
|
def set_daemon(self, daemonic):
|
||||||
if not self.__initialized:
|
if not self.__initialized:
|
||||||
raise RuntimeError("Thread.__init__() not called")
|
raise RuntimeError("Thread.__init__() not called")
|
||||||
|
@ -658,6 +684,8 @@ class Thread(_Verbose):
|
||||||
raise RuntimeError("cannot set daemon status of active thread");
|
raise RuntimeError("cannot set daemon status of active thread");
|
||||||
self.__daemonic = daemonic
|
self.__daemonic = daemonic
|
||||||
|
|
||||||
|
setDaemon = _old_api(set_daemon, "setDaemon")
|
||||||
|
|
||||||
# The timer class was contributed by Itamar Shtull-Trauring
|
# The timer class was contributed by Itamar Shtull-Trauring
|
||||||
|
|
||||||
def Timer(*args, **kwargs):
|
def Timer(*args, **kwargs):
|
||||||
|
@ -763,12 +791,16 @@ def current_thread():
|
||||||
##print "current_thread(): no current thread for", _get_ident()
|
##print "current_thread(): no current thread for", _get_ident()
|
||||||
return _DummyThread()
|
return _DummyThread()
|
||||||
|
|
||||||
|
currentThread = _old_api(current_thread, "currentThread")
|
||||||
|
|
||||||
def active_count():
|
def active_count():
|
||||||
_active_limbo_lock.acquire()
|
_active_limbo_lock.acquire()
|
||||||
count = len(_active) + len(_limbo)
|
count = len(_active) + len(_limbo)
|
||||||
_active_limbo_lock.release()
|
_active_limbo_lock.release()
|
||||||
return count
|
return count
|
||||||
|
|
||||||
|
activeCount = _old_api(active_count, "activeCount")
|
||||||
|
|
||||||
def enumerate():
|
def enumerate():
|
||||||
_active_limbo_lock.acquire()
|
_active_limbo_lock.acquire()
|
||||||
active = _active.values() + _limbo.values()
|
active = _active.values() + _limbo.values()
|
||||||
|
|
|
@ -291,6 +291,7 @@ Library
|
||||||
- The bundled OSX-specific copy of libbffi is now in sync with the version
|
- The bundled OSX-specific copy of libbffi is now in sync with the version
|
||||||
shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
|
shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
|
||||||
|
|
||||||
|
- The threading module gained alias for names that are removed in 3.x.
|
||||||
|
|
||||||
Build
|
Build
|
||||||
-----
|
-----
|
||||||
|
|
Loading…
Reference in New Issue