Для сетевых операций ввода-вывода больше преимущества асинхронности в плохих сетевых условиях? - PullRequest
0 голосов
/ 04 октября 2019

Представьте, что мы хотим запустить дюжину HTTP-запросов асинхронно. Увеличивается ли время, сэкономленное асинхронностью, медленнее, чем ваша сеть?

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

Цель асинхронности - обработать вторую часть всех выполненных запросов. одновременно , и (в отличие от части, связанной с процессором) мы должны ждать данных, чем дольше, тем медленнее наше соединение. Он сокращает часть ожидания данных, он ничего не делает с частью, связанной с процессором.

Учитывая это, я склонен сделать вывод, что асинхронная реализация экономит нам больше времени в бедныхсетевые подключения. Кроме того, если бы данные из сети были получены мгновенно, преимущества асинхронности были бы равны нулю.

Верны ли эти выводы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...