В любой операционной системе есть функции, которые дают текущее время в виде количества миллисекунд прошедших от какой то фиксированной даты (например от 01.01.1970 00:00)
Когда вызывается функция setTimeout (setInterval), запоминается этот момент.
В начале каждого цикла событий просматриваются все запомненные таймеры и проверяется сколько прошло время и не пора ли ставить целевую функцию в очередь событий
Последний раз редактировалось voraa, 15.09.2020 в 18:24.
|