[Python-Dev] Twisted Isn't Specific (was Re: Trial balloon: microthreads library in stdlib)
Phillip J. Eby
pje at telecommunity.com
Thu Feb 15 03:00:12 CET 2007
At 01:31 PM 2/15/2007 +1300, Greg Ewing wrote:
>To my mind, there shouldn't be a "reactor" object
>exposed to the application at all. There should just
>be functions for setting up callbacks. The choice of
>implementation should be made somewhere deep inside
>the library, based on what platform is being used.
*shudder*. I, on the other hand, prefer to assume that there is no one
"top level" and certainly no requirement for a single event loop or
reactor. peak.events, for example, lets you have multiple event loops
running in the same or different threads. One of these can be Twisted's
reactor, if you like, but the framework doesn't impose this singleton-ness
on you.
(IIUC, Twisted uses a singleton for at least two fairly good reasons: ease
of programming, and the fact that certain platforms demand it for
performance reasons. I just don't happen to agree that this limitation
should be applied across *all* platforms. And there are good solutions for
context-specific pseudo-singletons to address the API issue, although they
might not be as high-performance as Twisted applications might
prefer. Everything's a trade-off.)
More information about the Python-Dev
mailing list