Re: Green threads and Web-application



Vladimir Zolotykh <gsmith@xxxxxxxxxxxxx> writes:
Yes, it is possible to use separate OS processes (instead of Lisp
threads) to handle HTTP requests in AllegroServe, in that case
however, there is no easy way for mutual communication among them no
more, no shared variables for example and the size of the each process
is some 30M, which is rather expensive.

This is not entirely true.

You can fork lisp processes, and use shared memory to communicate. You
can even manage this shared memory as a garbage collected heap of lisp
objects.

See COM.INFORMATIMAGO.COMMON-LISP.HEAP
and COM.INFORMATIMAGO.CLISP.RAW-MEMORY

See http://www.informatimago.com/develop/lisp/index.html
for CVS checkout instructions.

(The index.html is not up-to-date, I should have it built
automatically from the lisp sources...)

You could even share memory between different lisp implementations!


--
__Pascal Bourguignon__ http://www.informatimago.com/
Cats meow out of angst
"Thumbs! If only we had thumbs!
We could break so much!"
.