twisted.python.threadpool.ThreadPool class documentationtwisted.python.threadpool
(View In Hierarchy)
Known subclasses: twisted.internet.test.test_resolver.DeterministicThreadPool, twisted.test.test_threadpool.MemoryPool
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. (type: bool) | 
| Instance Variable | threads | List of workers currently running in this thread pool. (type: list) | 
| Method | __init__ | Create a new threadpool. | 
| Method | workers | For legacy compatibility purposes, return a total number of workers. | 
| Method | working | For legacy compatibility purposes, return the number of busy workers as expressed by a list the length of that number. | 
| Method | 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 onResultwith the return value, or atwisted.python.failure.Failureif the callable raises an exception. | 
| Method | stop | Shutdown the threads in the threadpool. | 
| Method | adjustPoolsize | Adjust the number of available threads by setting minandmaxto 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. (type: callable compatible with _pool) | 
| Method | _queue | For legacy compatibility purposes, return an object with a qsizemethod that indicates the amount of work not yet 
allocated to a worker. | 
| Method | _generateName | Generate a name for a new pool thread. | 
For legacy compatibility purposes, return a total number of workers.
| Returns | the current number of workers, both idle and busy (but not those that have 
been quit by ThreadPool.adjustPoolsize) (type:int) | |
For legacy compatibility purposes, return an object with a 
qsize method that indicates the amount of work not yet 
allocated to a worker.
| Returns | an object with a qsizemethod. | |
Increase the number of available workers for the thread pool by 1, up to
the maximum allowed by ThreadPool.max.
Generate a name for a new pool thread.
| Returns | A distinctive name for the thread. (type: native str) | |
Decrease the number of available workers by 1, by quitting one as soon as it's idle.
Call a callable object in a separate thread.
| Parameters | func | callable object to be called in separate thread | 
| args | positional arguments to be passed to func | |
| kw | keyword args to be passed to func | 
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.
| Parameters | onResult | a callable with the signature (success, result). If the 
callable returns normally,onResultis called with(True, result)whereresultis the return value 
of the callable.  If the callable throws an exception,onResultis called with(False, failure).Optionally,  | 
| func | callable object to be called in separate thread | |
| args | positional arguments to be passed to func | |
| kw | keyword arguments to be passed to func | 
Adjust the number of available threads by setting min and 
max to new values.
| Parameters | minthreads | The new value for ThreadPool.min. | 
| maxthreads | The new value for ThreadPool.max. | 
Dump some plain-text informational messages to the log about the state 
of this ThreadPool.