[Python-Dev] threadsafe patch for asynchat
steve at holdenweb.com
Wed Feb 8 08:33:28 CET 2006
Martin v. Löwis wrote:
> Tim Peters wrote:
>>Bugs and "missing features" in asyncore. For ZEO's purposes, if I had
>>designed it, I expect it would have used threads (without asyncore).
>>However, bits of code still sitting around suggest that it was at
>>least the _intent_ at one time that ZEO be able to run without threads
>>at all. That's certainly not possible now.
> What is the reason that people want to use threads when they can have
> poll/select-style message processing? Why does Zope require threads?
> IOW, why would anybody *want* a "threadsafe patch for asynchat"?
In case the processing of events needed to block? If I'm processing web
requests in an async* dispatch loop and a request needs the results of a
(probably lengthy) database query in order to generate its output, how
do I give the dispatcher control again to process the next asynchronous
The usual answer is "process the request in a thread". That way the
dispatcher can spring to life for each event as quickly as needed.
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/
More information about the Python-Dev