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