[OT] This feels wrong (pthreads question)
dave at thesmithfam.org
Mon Jan 29 07:46:55 MST 2007
> By the way, how much overhead does threading actually introduce,
> especially in a situation where there may be hundreds or thousands of
> threads in an application?
You may get to a point where you can no longer spawn new threads, and
pthread_create() will start to fail and you will have no recourse.
It still doesn't seem to me like you have explored select()
sufficiently. select() will allow you to have a single thread (or even a
small pool of threads) on the server that can handle client requests
very quickly. If you have multiple cores, use two threads, each
responsible for a different set of client socket descriptors. Spread the
most active socket descriptors around evenly between the threads. That'd
be a fun, and very efficient implementation.
If your data model is designed right, your CPU will likely never be the
bottleneck anyway. It'll be the network.
More information about the PLUG