gevent.thread – Implementation of the standard thread module that spawns greenlets¶
Implementation of the standard thread module that spawns greenlets.
Note
This module is a helper for gevent.monkey and is not
intended to be used directly. For spawning greenlets in your
applications, prefer higher level constructs like
gevent.Greenlet class or gevent.spawn().
- error¶
alias of
RuntimeError
- class LockType[source]¶
Bases:
_AtomicBoundedSemaphoreThe basic lock type.
Changed in version 24.10.1: Subclassing this object is no longer allowed. This matches the Python 3 API.
Changed in version 24.10.1: No longer accepts arguments to pass to the super class. If you want a semaphore with a different count, use a semaphore class directly. This matches the Lock API of Python 3
- acquire(blocking=True, timeout=None) bool[source]¶
Acquire the semaphore.
Note
If this semaphore was initialized with a value of 0, this method will block forever (unless a timeout is given or blocking is set to false).
- Parameters:
- Returns:
A
boolindicating whether the semaphore was acquired. Ifblockingis True andtimeoutis None (the default), then (so long as this semaphore was initialized with a size greater than 0) this will always return True. If a timeout was given, and it expired before the semaphore was acquired, False will be returned. (Note that this can still raise aTimeoutexception, if some other caller had already started a timer.)
- allocate()¶
An obsolete synonym of allocate_lock().
- daemon_threads_allowed()¶
Return True if daemon threads are allowed in the current interpreter, and False otherwise.
- exit_thread()¶
An obsolete synonym of exit().
- get_native_id()¶
Return a non-negative integer identifying the thread as reported by the OS (kernel). This may be used to uniquely identify a particular thread within a system.
- interrupt_main(signum=Signals.SIGINT, /)¶
Simulate the arrival of the given signal in the main thread, where the corresponding signal handler will be executed. If signum is omitted, SIGINT is assumed. A subthread can use this function to interrupt the main thread.
Note: the default signal handler for SIGINT raises
KeyboardInterrupt.
- start_joinable_thread(function, handle=None, daemon=True)[source]¶
For internal use only: start a new thread.
Like start_new_thread(), this starts a new thread calling the given function. Unlike start_new_thread(), this returns a handle object with methods to join or detach the given thread. This function is not for third-party code, please use the
threadingmodule instead. During finalization the runtime will not wait for the thread to exit if daemon is True. If handle is provided it must be a newly created thread._ThreadHandle instance.
- start_new(function, args, kwargs={}, /)¶
An obsolete synonym of start_new_thread().