Почему поток захватывает 100% CPU?
Вторник, 25 Декабрь, 2007Реймонд Чен отвечает на вопрос “Почему мой поток с низким приоритетом (low priority) захватывает 100% процессорного времени?”
Если поток работает с низким приоритетом, это не значит, что он занимает меньше процессорного времени. Низкий приоритет означает, что поток не будет запущен, пока существует готовый к выполнению поток с высоким приоритетом. Иначе говоря, если в очереди нет потоков с более высоким приоритетом, то запустится поток с низким приоритетом. В свою очередь, если этот поток интенсивно использует процессор, то процессор будет загружен на 100%.
Приоритет всего-лишь определяет последовательность раздачи дельты процессорного времени. Если в текущий момент времени на CPU претендует только один поток, он получит в свое распоряжение 100% процессорного времени.

