Thread-killing, round 666 (was Re: Lisp mentality vs. Python mentality)

David Bolen db3l.net at gmail.com
Tue Apr 28 16:49:01 EDT 2009


Vsevolod <vseloved at gmail.com> writes:

> On Apr 27, 11:31 pm, David Bolen <db3l.... at gmail.com> wrote:
>> I'm curious - do you know what happens if threading is implemented as
>> a native OS thread and it's stuck in an I/O operation that is blocked?
>> How does the Lisp interpreter/runtime gain control again in order to
>> execute the specified function?  I guess on many POSIX-ish
>> environments, internally generating a SIGALRM to interrupt a system
>> operation might work, but it would likely have portability problems.
>
> We're arguing to the old argument, who knows better, what the
> programmer wants: language implementor or the programmer himself.
> AFAIK, Python community is on former side, while Lisp one -- on the
> later. As always, there's no right answer.

Note I wasn't trying to argue anything, I was actually interested in
how the behavior is handled in Lisp?  Do you know how the Lisp
implementation of threads you spoke about handles this case?

E.g., can the Lisp implementation you are familiar with actually kill
such a thread blocked on an arbitrary external system or library call?

-- David



More information about the Python-list mailing list