У пріоритеті немає нічого поганого.
Поширене припущення, що низький або середній пріоритет, встановлений у процесі, змусить операційну систему обмежувати час процесора, доступний для потоків процесу - так, встановлення його пріоритету вище повинно дозволяти йому використовувати більше процесора!
Але це не те, що відбувається.
Ви можете встановити процес на мінімальний пріоритет, і якщо його код ніколи нічого не чекатиме, і якщо нічого іншого в системі не хоче час на процесор, цей процес отримає 100% ЦП.
Якщо процес отримує менше 100% процесора, і нічого рівного або більшого пріоритету не намагається запустити, це просто означає, що потоки процесу витрачають частину свого часу, не бажаючи процесора.
Що робить потік, якщо він не хоче процесора? Більшість часу це «чекає». Нитки чекають, коли їм потрібно щось статися, що не передбачає запуску власного коду потоку в процесорі. Зазвичай вони чекають завершення операції вводу / виводу. Це може бути запит вводу / виводу, який явно запитується потоком, або це може бути, наприклад, помилка жорсткої сторінки. (З іншого боку, час, витрачений на "очікування" затримки читання або запису оперативної пам'яті, є частиною часу процесора потоку. Це не вважається введенням / виведенням.)
Ваш цикл у Python включає функцію "друку". Це операція вводу / виводу, навіть якщо це лише на екрані.
Ви можете використовувати аналізатор продуктивності Windows, щоб отримати детальну інформацію про те, що робить pythonw.exe, і змушує його чекати.
Ви можете переглянути цю відповідь тут .