[hunchentoot-devel] Finding out if we're multithreaded
Slava Akhmechet
coffeemug at gmail.com
Sat Feb 16 19:54:54 UTC 2008
"Hans Hübner" <hans at huebner.org> writes:
> The major advantage of Lisp processes implemented as native threads is
> that scheduling can occur while a Lisp process is executing foreign
> code, whereas with a Lisp scheduler, entering a foreign function will
> prevent scheduling.
You may want to read the "tackling the awkward squad" paper by Simon
Peyton Jones. It's done in Haskell, but it would be awesome to see in
Lisp. Basically, there is a native thread per CPU for computation,
coroutines-based threads (like Erlang or CMUCL) on top of those for
abstraction, asynchronious IO to avoid blocking, and thread pool for
native calls (again, to avoid blocking). The way of the future, IMO.
--
Regards,
Slava Akhmechet.
More information about the Tbnl-devel
mailing list