Представьте, что мы хотим запустить дюжину HTTP-запросов асинхронно. Увеличивается ли время, сэкономленное асинхронностью, медленнее, чем ваша сеть?
Насколько я знаю, мы можем разделить такой запрос на две части. Первый, где мы выполняем небольшую работу с привязкой к процессору (инициализация и завершение соединения - подключение к сетевому оборудованию, помещение полученного ответа в массив и т. Д.). И второй, который занимает гораздо больше времени, когда наш поток блокируется, поскольку мы ожидаем поступления данных.
Цель асинхронности - обработать вторую часть всех выполненных запросов. одновременно , и (в отличие от части, связанной с процессором) мы должны ждать данных, чем дольше, тем медленнее наше соединение. Он сокращает часть ожидания данных, он ничего не делает с частью, связанной с процессором.
Учитывая это, я склонен сделать вывод, что асинхронная реализация экономит нам больше времени в бедныхсетевые подключения. Кроме того, если бы данные из сети были получены мгновенно, преимущества асинхронности были бы равны нулю.
Верны ли эти выводы?