2010/5/9 Peter Cai <newpt...@gmail.com>: > Today, a guy gave me an URL > http://code.google.com/p/stacklessexamples/wiki/StacklessNonblockModules > > It's a replacement of standard python socket module. What make it > different is that this module only blocks a tasklet, not an entire > Python thread. >
Gevents does monkey patching too and work with standard cpython. > With this module and stackless python, theoretically, we can build a > high concurrency network application framework which has a programming > style close to traditional multi-thread module. > This works with pure-python approach, not with a database driver written in C. If you monkey-patch python threads with your tasklets, greenlets or anything else your are lost. Mix threaded model for blocking things and tasklet/greenlet model for non-blocking thing are not magic :-( > The guy who gave me that URL asked a question, "Which style is better? > The Twited's event-driven style or the imaginary one?" > > > What do you think about it? Of course, twisted is an mature framework > we can trust, but doesn't the imaginary one also have pros? > IMHO (all from here) Twisted is coherent with itself. Monkey-patched solutions pretends be coherent with threaded style, but something fails. Twisted pros: * Is not based in a thread style. Forget wich is a non-reentrant lock and a dead-lock. * If you use a twisted library you don't need think about blocking issues. If you don't use a twisted library, defer to thread. * It's mature. Monkey patched pros: * Convert a thread style application to async one don't need a full rewrite. Maybe it's not easy, but need less LOCs. * If your libraries are prue-python you don't need think, only apply a monkey-patch. * Sounds cool. Excuse my poor english, Javi _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python