[OT] Re: Why use threads ( was: Alan Cox quote?)

Jeff Garzik
2001-06-20T22:48:02Z

Davide Libenzi wrote:
>
> On 20-Jun-2001 David Schwartz wrote:
> >
> >> On Wed, Jun 20, 2001 at 02:01:16PM -0700, David Schwartz wrote:
> >
> >> > It's very hard to use processes for this purpose. Consider,
> >> > for example, a
> >> > web server. You don't want to use one process for each client
> >> > because that
> >> > would limit your scalability (16,000 clients would become difficult, and
> >> > with threads it's trivial). You don't want to use one thread
> >> > for each client
> >
> >> How is it trivial? How do you debug a 16,000 thread application?
> >
> > As I said, you don't want to use one thread for each client. You use,
> > say, 10 threads for the 16,000 clients.
>
> Humm, you're going to select() over 1600 fds ...

Sigh, this is offtopic for a while, and I am not helping ;-)

A well-designed app should not be selecting 100% of its fds, but only
those fd's that need selecting...

If you are talking about a single application with 16,000 clients,
personally, I would use thread pools: a few threads for doing poll(2),
a few threads for doing work, etc. Anything above that is unlikely to
scale with demand.

Jeff

--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |