В многозадачной ОС время ЦП делится между потоками выполнения (процессами, потоками) - это правда.Итак, что здесь происходит - цикл выполняется до некоторой точки, когда происходит прерывание тактовой частоты, которое используется ОС для планирования следующего «фрагмента» выполнения из другого процесса или потока.Но как только ваш код не достигает определенных точек (ввод / вывод или другие системные вызовы, которые могут переключить процесс в состояние «ожидания», например, ожидание операций синхронизации объектов сна и т. Д.), Процесс продолжает оставаться в«рабочее» состояние, которое указывает планировщику держать его в очереди выполнения и перепланировать его выполнение при первой же возможности.Если есть некоторые «конкурентные» процессы, которые сохраняют свое «рабочее» состояние в течение длительного периода времени, а также использование ЦП будет распределено между вами и всеми этими процессами, в противном случае выполнение вашего процесса будет перенесено немедленно, что в любом случае приведет к постоянному высокому потреблению ЦП.,