class documentation

class twisted.python.threadpool.ThreadPool: (source)

View In Hierarchy

This class (hopefully) generalizes the functionality of a pool of threads to which work can be dispatched.

callInThread and stop should only be called from a single thread.

Instance Variable started Whether or not the thread pool is currently running.
Instance Variable threads List of workers currently running in this thread pool.
Instance Variable min Undocumented
Instance Variable max Undocumented
Instance Variable joined Undocumented
Instance Variable name Undocumented
Class Variable currentThread Undocumented
Method __init__ Create a new threadpool.
Property workers For legacy compatibility purposes, return a total number of workers.
Property working For legacy compatibility purposes, return the number of busy workers as expressed by a list the length of that number.
Property waiters For legacy compatibility purposes, return the number of idle workers as expressed by a list the length of that number.
Method start Start the threadpool.
Method startAWorker Increase the number of available workers for the thread pool by 1, up to the maximum allowed by ThreadPool.max.
Method stopAWorker Decrease the number of available workers by 1, by quitting one as soon as it's idle.
Method __setstate__ Undocumented
Method __getstate__ Undocumented
Method callInThread Call a callable object in a separate thread.
Method callInThreadWithCallback Call a callable object in a separate thread and call onResult with the return value, or a twisted.python.failure.Failure if the callable raises an exception.
Method stop Shutdown the threads in the threadpool.
Method adjustPoolsize Adjust the number of available threads by setting min and max to new values.
Method dumpStats Dump some plain-text informational messages to the log about the state of this ThreadPool.
Instance Variable _pool A hook for testing.
Instance Variable _team Undocumented
Property _queue For legacy compatibility purposes, return an object with a qsize method that indicates the amount of work not yet allocated to a worker.
Method _generateName Generate a name for a new pool thread.
started = (source)
Whether or not the thread pool is currently running.
(type: bool)
threads = (source)
List of workers currently running in this thread pool.
(type: list)
_pool = (source)
A hook for testing.
(type: callable compatible with _pool)

Undocumented

Undocumented

joined = (source)

Undocumented

(type: bool)
name = (source)

Undocumented

currentThread = (source)

Undocumented

def __init__(self, minthreads=5, maxthreads=20, name=None): (source)

Create a new threadpool.

Parametersminthreadsminimum number of threads in the pool (type: int)
maxthreadsmaximum number of threads in the pool (type: int)
nameThe name to give this threadpool; visible in log messages. (type: native str)
_team = (source)

Undocumented

@property
workers = (source)

For legacy compatibility purposes, return a total number of workers.

(type: int)
@property
working = (source)

For legacy compatibility purposes, return the number of busy workers as expressed by a list the length of that number.

(type: list of None)
@property
waiters = (source)

For legacy compatibility purposes, return the number of idle workers as expressed by a list the length of that number.

(type: list of None)
@property
_queue = (source)

For legacy compatibility purposes, return an object with a qsize method that indicates the amount of work not yet allocated to a worker.

def start(self): (source)

Start the threadpool.

def startAWorker(self): (source)

Increase the number of available workers for the thread pool by 1, up to the maximum allowed by ThreadPool.max.

def _generateName(self): (source)

Generate a name for a new pool thread.

ReturnsA distinctive name for the thread. (type: native str)
def stopAWorker(self): (source)

Decrease the number of available workers by 1, by quitting one as soon as it's idle.

def __setstate__(self, state): (source)

Undocumented

def __getstate__(self): (source)

Undocumented

def callInThread(self, func, *args, **kw): (source)

Call a callable object in a separate thread.

Parametersfunccallable object to be called in separate thread
argspositional arguments to be passed to func
kwkeyword args to be passed to func
def callInThreadWithCallback(self, onResult, func, *args, **kw): (source)

Call a callable object in a separate thread and call onResult with the return value, or a twisted.python.failure.Failure if the callable raises an exception.

The callable is allowed to block, but the onResult function must not block and should perform as little work as possible.

A typical action for onResult for a threadpool used with a Twisted reactor would be to schedule a twisted.internet.defer.Deferred to fire in the main reactor thread using .callFromThread. Note that onResult is called inside the separate thread, not inside the reactor thread.

ParametersonResulta callable with the signature (success, result). If the callable returns normally, onResult is called with (True, result) where result is the return value of the callable. If the callable throws an exception, onResult is called with (False, failure).

Optionally, onResult may be None, in which case it is not called at all.

funccallable object to be called in separate thread
argspositional arguments to be passed to func
kwkeyword arguments to be passed to func
def stop(self): (source)

Shutdown the threads in the threadpool.

def adjustPoolsize(self, minthreads=None, maxthreads=None): (source)

Adjust the number of available threads by setting min and max to new values.

ParametersminthreadsThe new value for ThreadPool.min.
maxthreadsThe new value for ThreadPool.max.
def dumpStats(self): (source)

Dump some plain-text informational messages to the log about the state of this ThreadPool.

API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.