Если поток выполняет что-то вроде этого:
const DWORD interval = 20000;
DWORD ticks = GetTickCount();
while(true)
{
DoTasksThatTakeVariableTime();
if( GetTickCount() - ticks > interval )
{
DoIntervalTasks();
ticks = GetTickCount();
}
}
В конце концов, тики будут обертываться, когда значение не соответствует DWORD.
Я обсуждал это с коллегой. Один из нас считает, что код будет по-прежнему вести себя "красиво", когда происходит обертка, так как операция вычитания также будет завершена. Другой из нас считает, что он не всегда будет работать, особенно если этот интервал большой.
Кто прав и почему?
Спасибо.