Это совершенно разные вещи.
Парадигма, управляемая событиями, означает, что объект, называемый «событием», отправляется программе всякий раз, когда что-то происходит, без необходимости регулярного опроса этого «чего-то», чтобы определить, произошло ли это. Это «событие» может быть перехвачено программой для выполнения некоторых действий (то есть «обработчика») - синхронного или асинхронного.
Следовательно, обработка событий может быть синхронной или асинхронной. Например, в JavaScript используется система синхронных событий.
Асинхронность означает, что действия могут происходить независимо от текущего «основного» потока выполнения. Имейте в виду, это НЕ означает «параллельный» или «другой поток». «Асинхронное» действие может фактически выполняться в основном потоке, блокируя тем временем «основной» поток выполнения. Так что не путайте «асинхронный» с «многопоточным».
Вы можете сказать, что технически говоря, асинхронная операция автоматически предполагает событие - по крайней мере, события "завершено", "неисправно" или "прервано / отменено" (одно или несколько из них) отправляются в инициатор операции (или сама основная операционная система), чтобы сигнализировать о том, что операция прекращена. Таким образом, асинхронный режим всегда управляется событиями, но не наоборот.
person
Stephen Chung
schedule
01.05.2011