Lets say I have created a number of threads (~100) and I have put most of them to sleep while a few of them are working on purely CPU bound problems. What is the effect on performance versus JUST creating the handful of threads that are doing work and no threads that are sleeping? Does the existence of many threads, regardless of whether they are sleeping, degrade performance significantly because of all the context switching, OR are the sleeping threads largely ignored and the CPU divided mostly between the active threads?
I'm not looking for an answer like "50% performance degradation", I'm simply trying to understand in more detail how sleeping threads effect the cpu available to other threads.