On Wed, 22 Jul 2009 12:35:52 -0700 (PDT), Carl Banks <pavlovevide...@gmail.com>
wrote:
On Jul 22, 12:04 pm, Paul Rubin <http://phr...@nospam.invalid> wrote:
Carl Banks <pavlovevide...@gmail.com> writes:
> > Why is that such an advantage? Green threads work fine if you just
> > organize the i/o system to never block.
> Because then I don't have to organize the I/O system never to block.
We're talking about what a language implementation does behind the
scenes, I thought.
No we're not, we are talking about the whether GIL completely or only
partially undermines the use of native threads on Python.
I don't think your fantasy async-only all-green-thread langauge
implementation is possible anyway. How would you wait on a pipe in
one thread, a socket in another, a semaphore in a third? (Are there
any popular OSes that offer a unified polling interface to all
possible synchronizations?)
Every OS I can think of can support the three examples you gave here.
And what do you do about drivers or
libraries that make underlying blocking calls?
Certainly a point to consider.
What if you have a busy calculation going on in the background?
What if you do? Are you suggesting this would somehow prevent I/O from
being serviced? I'm not sure why, as long as the implementation pays
attention to I/O events.
Jean-Paul
--
http://mail.python.org/mailman/listinfo/python-list