twisted.python.threadpool.ThreadPool

Package twisted :: Package python :: Module threadpool :: Class ThreadPool |
[frames | no frames]

## Class ThreadPool

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

dispatch(), dispatchWithCallback() and stop() should only be called from a single thread, unless you make a subclass where stop() and _startSomeWorkers() are synchronized.

Method Summary
| ``__init__`(self, minthreads, maxthreads)` Create a new threadpool.
| `__getstate__(self)`
| `__setstate__(self, state)`
| `_runWithCallback(self, callback, errback, func, args, kwargs)`
| `_startSomeWorkers(self)`
| `_worker(self, o)`
| `adjustPoolsize(self, minthreads, maxthreads)`
| `callInThread(self, func, *args, **kw)`
| ``dispatch`(self, owner, func, *args, **kw)` Dispatch a function to be a run in a thread.
| ``dispatchWithCallback`(self, owner, callback, errback, func, *args, **kw)` Dispatch a function, returning the result to a callback function.
| `dumpStats(self)`
| ``start`(self)` Start the threadpool.
| `startAWorker(self)`
| ``stop`(self)` Shutdown the threads in the threadpool.
| `stopAWorker(self)`

Class Variable Summary
`int` | `_ThreadPool__inited` = 0
`int` | `joined` = 0
`int` | `max` = 20
`int` | `min` = 5
`int` | `started` = 0
`int` | `workers` = 0

Method Details

### __init__(self, minthreads=5, maxthreads=20) (Constructor) Create a new threadpool. Parameters: `minthreads` - minimum number of threads in the pool `maxthreads` - maximum number of threads in the pool

### dispatch(self, owner, func, *args, **kw) Dispatch a function to be a run in a thread.

### dispatchWithCallback(self, owner, callback, errback, func, *args, **kw) Dispatch a function, returning the result to a callback function. The callback function will be called in the thread - make sure it is thread-safe.

### start(self) Start the threadpool.

### stop(self) Shutdown the threads in the threadpool.

Class Variable Details

    ### _ThreadPool__inited Type: `int` Value:
        0

    ### joined Type: `int` Value:
        0

    ### max Type: `int` Value:
        20

    ### min Type: `int` Value:
        5

    ### started Type: `int` Value:
        0

    ### workers Type: `int` Value:
        0

Generated by Epydoc 2.0 on Sat May 15 20:07:44 2004 | http://epydoc.sf.net