2.7 KiB
2.7 KiB
aliases | tags | date | zero-link | parents | linked | |||
---|---|---|---|---|---|---|---|---|
|
2023-10-26 |
|
|
По сути, Event Loop - это реализация шаблона Reactor. Является неблокирующим потоком ввода-вывода, который работает непрерывно. Его основная задача — проверка новых событий. И как только событие пришло перенаправлять его тому, кто в данный момент может его обработать. Иногда их может быть несколько для увеличения производительности.
Выше приведён абстрактный дизайн цикла событий, который представляет идеи реактивного асинхронного программирования:
- Цикл событий выполняется непрерывно в одном потоке, хотя у нас может быть столько циклов событий, сколько доступно ../fundamental/Ядро процессора.
- Цикл событий последовательно обрабатывает события из очереди событий и возвращается сразу после регистрации ../../../../_inbox/Callback в платформе.
- Платформа может инициировать завершение операции, такой как вызов базы данных или вызов внешней службы.
- Цикл событий может запускать обратный вызов при уведомлении о завершении операции и отправлять результат обратно исходному вызывающему.
Мета информация
Область:: ../../meta/zero/00 Архитектура ПО Родитель:: ../../../../knowledge/dev/Реактивное программирование Источник:: Автор:: Создана::