Middle+
Ինչու sleep-ի կատարման ժամանակը չի լինում հստակ 1000 և 2000 միլիսեկունդ, այլ մի փոքր ավելի? Ի՞նչն է ազդում ուշացման վրա։
sobes.tech AI
Պատասխան AI-ից
Время выполнения функции sleep в JavaScript (и в других языках) не гарантирует точное соответствие заданной задержке, а лишь минимальное время ожидания. Причины задержки:
- Планировщик событий (Event Loop): после истечения таймера задача ставится в очередь, но выполняется только когда стек вызовов свободен.
- Нагрузка на CPU: если процессор занят другими задачами, выполнение отложится.
- Точность таймеров: системные таймеры имеют ограниченную точность, особенно в браузерах.
Например, setTimeout(() => console.log('done'), 1000) может сработать через 1005-1010 мс или больше, если в это время выполняются другие скрипты.