Что такое события с точки зрения реализации?
Вопрос возможно глупый, но мне не до конца понятно как работают обработчики какого-либо события под капотом. Например функция, которая вызывается при изменении какого-нибудь файла или браузерные события в JavaScript. Для всего этого есть свои уже готовые инструменты, которые можно использовать, но как реализуются такие инструменты, например то же событие во время изменения файла. Способ из while (true)
, который первый приходит в голову является плохим, насколько я знаю, да и в принципе туда прийдется добавлять минимальную задержку, чтобы не перегружать процессор, но как-то же смогли реализовать события, которые не нагружают процессор и срабатывают мгновенно. Можете объяснить как это реализуется на низком уровне или поделиться соответствующими источниками?
Ответы (1 шт):
Концепция выглядит так:
- есть диспетчер событий
- вы пишите функцию-обработчик события и регистрирует ее в диспетчере событий
- диспетчер будет вызывать эту функцию, при наступлении события