Привет, друзья!
В этом посте мы хотим развеять несколько мифов относительно Event Loop и рассказать про некоторые его особенности.
↪ Event Loop — обычный агент, который не является частью ядра V8. Тот цикл событий, который вы привыкли видеть, — Event Loop спецификации HTML5, который, помимо JS, работает также и с DOM, и с Web API. В конце концов, у Node.js реализован свой Event Loop, который отличается от клиентского.
↪ Циклов событий может быть несколько. Когда мы создаем Web Worker, внутри него находится такой же агент, который тоже выполняет код. Не путайте воркеры с многопоточностью.
↪ Код может выходить из Main Thread, даже если вы не создавали воркер. Например, функции setTimeout или setInterval. Но стоит помнить, что любая функция, которая осуществляет подобное, является частью Web API, включая воркеры, так как ни одна сущность, реализуемая ядром V8, не дает сделать ничего подобного.
А какие особенности Event Loop знаете вы?
@chulakov_dev
Post #292
573

- 🔥 20
- 👍 5
- ❤ 2