Theodore Y. Ts'o wrote:
> because they think it's amusing to create (in some caes) hundreds of
> thousands of threads, and a 1:1: model simply falls over in the face
> of such a (unreasonable?) number of threds.
A large number of threads is unreasonable if you're, say, a web server.
But if you can get rid of the stacks, and you _can_ get rid of the
stacks sometimes, then why not have one thread per widget in a GUI? Or
one thread per animated objected on a web page? Some notions of
"thread" are light enough to compare with straightforward list
processing and function calls, because that's how they're implemented.
The cherry on that pie is when you can have lightweight threads that
have the _option_ to go off and do some heavy system calls or processing
that ties up a stack, without blocking the rest of the lightweight
threads. Obviously if they all do some heavy processing, lots of
resources are tied up, but they don't all do that at the same time.
_That_ requires a little kernel support. As you point out, Solaris
tried to do it with a 1:n model, and it didn't work too well.
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:15 EST