On Fri, Dec 18 2009, Arjan van de Ven wrote:in addition, threads are cheap. Linux has no technical problem with
running 100's of kernel threads (if not 1000s); they cost basically a
task struct and a stack (2 pages) each and that's about it. making an
elaborate-and-thus-fragile design to save a few kernel threads is
likely a bad design direction...
One would hope not, since that is by no means outside of what you see on
boxes today... Thousands. The fact that they are cheap, is not an
argument against doing it right. Conceptually, I think the concurrency
managed work queue pool is a much cleaner (and efficient) design.