Thread
Подскажите пожалуйста как сделать поток с бесконечным циклом.
Но так чтобы он НЕ кушал 100% ЦП ресурсов.
Здравствуйте Господа.
Подскажите пожалуйста как сделать поток с бесконечным циклом.
Но так чтобы он НЕ кушал 100% ЦП ресурсов.
Здравствуйте Господа.
Подскажите пожалуйста как сделать поток с бесконечным циклом.
Но так чтобы он НЕ кушал 100% ЦП ресурсов.
Ни один поток в системе не будет кушать 100% ресурсов ЦП, т.к. ему в режиме пользователя не получится задать такой приоритет. Иначе такой поток вообще подвесил бы систему.
Ни один поток в системе не будет кушать 100% ресурсов ЦП,
Делаем for (;;){ i++;)
И Кушает приоритеты пробовал разные
Но с RealTime Весит машинку насмерть.
Что за режим пользователя ?.
Делаем for (;;){ i++;)
И Кушает приоритеты пробовал разные
Но с RealTime Весит машинку насмерть.
Что за режим пользователя ?.
Имеется в виду - не ядро системы.
Вообще-то я неправильно сформулировал.
Итак. Real-time относится к процессу, а не к потоку. Если процесс запущен с PriorityClass = NORMAL_PRIORITY_CLASS, т.е. по умолчанию, то ни один из его потоков не способен подвесить систему совсем. Другое дело, если PriorityClass = REALTIME_PRIORITY_CLASS. Тогда установив ThreadPriority = THREAD_PRIORITY_TIME_CRITICAL, получим поток с наивысшим приоритетом (31). Но и в этом случае, если есть другой поток с тем же приоритетом (что маловероятно, учитывая класс приоритета процесса), то он тоже будет получать процессорное время. Из этого следует, что даже один поток с наивысшим приоритетом не вешает систему насмерть - как минимум работает еще та часть системы, которая эти потоки переключает (то бишь ядро). Подробности - у Рихтера.