twisted.python.threadable

Package twisted :: Package python :: Module threadable |
[frames | no frames]

## Module twisted.python.threadable

A module that will allow your program to be multi-threaded, micro-threaded, and single-threaded. Currently microthreads are unimplemented. The idea is to abstract away some commonly used functionality so that I don't have to special-case it in all programs.

Classes
`_ThreadedWaiter` |
`_Waiter` |
`_XLock` | Exclusive lock class.
`Waiter` |
`XLock` | Exclusive lock class.

Exceptions
`ThreadableError` |

Function Summary
| `_synchPost(self, *a, **b)`
| `_synchPre(self, *a, **b)`
| ``init`(with_threads)` Initialize threading.
| ``isInIOThread`()` Are we in the thread responsable for I/O requests (the event loop)?
| ``registerAsIOThread`()` Mark the current thread as responsable for I/O requests.
| ``synchronize`(*klasses)` Make all methods listed in each class' synchronized attribute synchronized.
| `whenThreaded(cb)`

Variable Summary
`list` | `_to_be_synched` = `[]`
`NoneType` | `ioThread` = None
`list` | `threadCallbacks` = `[<function initThreads at 0x81d40ac>, ...`
`int` | `threaded` = 1

Function Details

### init(with_threads=1) Initialize threading. Should be run once, at the beginning of program.

### isInIOThread() Are we in the thread responsable for I/O requests (the event loop)?

### registerAsIOThread() Mark the current thread as responsable for I/O requests.

### synchronize(*klasses) Make all methods listed in each class' synchronized attribute synchronized. The synchronized attribute should be a list of strings, consisting of the names of methods that must be synchronized. If we are running in threaded mode these methods will be wrapped with a lock.

Variable Details

    ### _to_be_synched Type: `list` Value:
        []

    ### ioThread Type: `NoneType` Value:
        None

    ### threadCallbacks Type: `list` Value:
        [<function initThreads at 0x81d40ac>,
         <function initThreads at 0x81e739c>,
         <bound method SelectReactor.initThreads of <twisted.internet.default.\
        SelectReactor instance at 0x825d6ac>>]

    ### threaded Type: `int` Value:
        1

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