Consequence of the scheduler algorithm: low priority threads can take up 100% CPU
From time to time I see variations on this question. “Why does my low-priority thread eat up 100% CPU?”
Setting low priority does not mean that the thread will consume little CPU. This only means that it will not receive CPU time as long as there are threads ready for execution with a higher priority. But if you have made it so that your thread is unique, ready for execution, then it will receive the entire processor.
The priority simply controls which thread will receive the first chips of the processor time, but if you arrange that your thread is only one who wants to start, then it will receive the entire processor. The lowest-order chicken eats up whatever it wants, if there are no higher-ranking hens around. You paid for this processor. There is no reason to viciously refuse him. ')
UPD : Thank you all for your karma. moved to a specialized blog.