|
Panda3D
|
Classes | |
| class | _BoundedSemaphore |
| class | _Condition |
| class | _DummyThread |
| class | _Event |
| class | _MainThread |
| class | _RLock |
| class | _Semaphore |
| class | _Timer |
| class | _Verbose |
| class | Thread |
Functions | |
| _pickSomeNonDaemonThread () | |
| _test () | |
| try: from thread import _local as local except ImportError: from _threading_local import local | |
| active_count () | |
| BoundedSemaphore (*args, **kwargs) | |
| Condition (*args, **kwargs) | |
| current_thread () | |
| enumerate () | |
| Event (*args, **kwargs) | |
| main_thread () | |
| RLock (*args, **kwargs) | |
| Semaphore (*args, **kwargs) | |
| setprofile (func) | |
| settrace (func) | |
| Timer (*args, **kwargs) | |
Variables | |
| dict | _active = {} |
| _active_limbo_lock = _allocate_lock() | |
| _allocate_lock = _thread.allocate_lock | |
| dict | _limbo = {} |
| _main_thread = _MainThread() | |
| _profile_hook = None | |
| _shutdown = _main_thread._exitfunc | |
| _sleep = core.Thread.sleep | |
| _start_new_thread = _thread.start_new_thread | |
| _trace_hook = None | |
| bool | _VERBOSE = False |
| activeCount = active_count | |
| int | count = count |
| currentThread = current_thread | |
| get_ident = _thread.get_ident | |
| limit = limit | |
| Lock = _allocate_lock | |
| mon = RLock() | |
| queue = deque() | |
| quota = quota | |
| rc = Condition(self.mon) | |
| ThreadError = _thread.error | |
| TIMEOUT_MAX = _thread.TIMEOUT_MAX | |
| wc = Condition(self.mon) | |
This module reimplements Python's native threading module using Panda threading constructs. It's designed as a drop-in replacement for the threading module for code that works with Panda; it is necessary because in some compilation models, Panda's threading constructs are incompatible with the OS-provided threads used by Python's thread module. Unlike threading.py, this module is a more explicit implementation of Python's threading model, designed to more precisely emulate Python's standard threading semantics. In fact, this is a bald-face copy of Python's threading module from Python 2.5, with a few lines at the top to import Panda's thread reimplementation instead of the system thread module, and so it is therefore layered on top of Panda's thread implementation.
|
protected |
|
protected |
try: from thread import _local as local except ImportError: from _threading_local import local
| active_count | ( | ) |
| BoundedSemaphore | ( | * | args, |
| ** | kwargs ) |
| Condition | ( | * | args, |
| ** | kwargs ) |
| current_thread | ( | ) |
| enumerate | ( | ) |
| Event | ( | * | args, |
| ** | kwargs ) |
| main_thread | ( | ) |
Return the main thread object. In normal conditions, the main thread is the thread from which the Python interpreter was started.
| RLock | ( | * | args, |
| ** | kwargs ) |
| Semaphore | ( | * | args, |
| ** | kwargs ) |
| setprofile | ( | func | ) |
| settrace | ( | func | ) |
| Timer | ( | * | args, |
| ** | kwargs ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| activeCount = active_count |
| int count = count |
| currentThread = current_thread |
| get_ident = _thread.get_ident |
| limit = limit |
| Lock = _allocate_lock |
| mon = RLock() |
| queue = deque() |
| quota = quota |
| rc = Condition(self.mon) |
| ThreadError = _thread.error |
| TIMEOUT_MAX = _thread.TIMEOUT_MAX |
| wc = Condition(self.mon) |