[Python-Dev] Twisted Isn't Specific (was Re: Trial balloon: microthreads library in stdlib)
Thomas Heller
theller at ctypes.org
Wed Feb 14 21:52:29 CET 2007
glyph at divmod.com schrieb:
> On 02:20 am, greg.ewing at canterbury.ac.nz wrote:
>
>> If Twisted is designed so that it absolutely *has* to use its own
>> special event mechanism, and everything else needs to be modified
>> to suit its requirements, then it's part of the problem, not part
>> of the solution.
>
> I've often heard this complaint, usually of the form "that's
> twisted-specific". The thing is, Twisted isn't specific. Its event
> mechanism isn't "special". In fact it's hard to imagine how it might
> be made less "special" than it currently is.
>
> Whatever your event dispatch mechanism, *some* code has to be
> responsible for calling the OS API of select(),
> WaitForMultipleEvents(), g_main_loop_run(), or whatever. Twisted
> actually imposes very few requirements for code to participate in
> this, and was designed from day one specifically to be a generalized
> mainloop mechanism which would not limit you to one underlying
> multiplexing implementation, event-dispatch mechanism, or operating
> system if you used its API.
When I last looked at twisted (that is several years ago), there were
several reactors - win32reactor, wxreactor, maybe even more. And they
didn't even work too well. The problems I remember were that the win32reactor
was limited to a only handful of handles, the wxreactor didn't process
events when a wx modal dialog boy was displayed, and so on. Has this changed?
Thanks,
Thomas
More information about the Python-Dev
mailing list