Асинхронная модель сетевого программирования отличается от синхронной тем, что позволяет выполнять несколько задач одновременно и независимо друг от друга. 310 В синхронной модели код выполняет задачи одну за другой, ожидая завершения каждой, прежде чем начать следующую. 7
В асинхронной модели один поток, запуская задачу, может остановить на некотором промежутке времени её выполнение, сохраняя при этом её текущее состояние, и начать выполнять другую задачу. 1 Этот подход повышает производительность и отзывчивость приложений, делая их более эффективными при работе с множеством задач, особенно если некоторые из них требуют ожидания (например, загрузка данных из интернета). 7
Кроме того, в асинхронной модели приложения могут запрашивать асинхронное уведомление, когда может быть установлено соединение, когда могут быть отправлены данные или когда данные могут быть получены. 2