Quote Originally Posted by bithub View Post
In simple projects I would agree with you 100%. Try working on an application that has close to 1 million lines of code, and see how often you run into problems that require you do things like:
- share locks between objects
- Have large individual lock coverages
- Generic callbacks while obtaining a lock which can cause deadlocks across modules.

A current line count on my project is 912015 lines of code, and a cat /proc/pid/status | grep Threads shows 605 threads atm. The last 3 years of my life has been spent debugging multi-threaded problems, and I don't feel like I've overstated the problem one bit
605 threads? In one process? Christ. That's 3 times the thread count for my entire system, and six times the leading process on my system. Why do you need some many threads?