В одном из моих проектов мне нужно эффективно планировать различные операции, которые нужно выполнять много раз, каждая операция имеет свой собственный временной интервал.Работает ли функция SetTimer в фоновом режиме или идет спать?
Мне было интересно, когда я использую функцию SetTimer, что происходит в фоновом режиме?
Создана новая тема? Работает ли он на заднем плане и ест мой процессор? Или он спит до тех пор, пока ОС не пробудит его, когда придет время? Можно ли иметь большое количество таймеров или есть веская причина попытаться свести к минимуму их количество?
Спасибо.
SetTimer не создает новый поток. Что происходит, зависит от использования timerproc (последний параметр) или нет. – Jerome
не могли бы вы объяснить или перенаправить нас любопытных программистов куда-нибудь с объяснением того, что именно происходит там и как? –
Это было бы слишком широко, охватывая планирование ОС, дельта-очереди, объекты таймера, очереди сообщений Windows, сборку сообщений WM_TIMER и т. Д. Для получения более подробной информации вам следует обратиться к одной из хороших книг Windows Internals. –