> Some problems demand a lot of concurrency. The canonical example, described by Dan Kagel as the C10K problem back in 1999, is a web server connected to tens of thousands of concurrent users. At this scale, threads won’t cut it—while they’re pretty cheap,5 fire up a thread per connection and your computer will grind to a halt. Try it. It'll probably work fine. It may be very expensive, memory wise, but it's easy to…
It's not just that. As you increase OS thread active count, each thread starts to respond slower and slower. It's been tried, periodically. Still sucks.
Of course, if they're doing real work they'll be using CPU time, but that's true of any scheme you might pick.