Что такое асинхронный сокет?

Здравствуйте. Не могу понять как реализуется асинхронный запрос. Знаю, что асинхронный запрос не блокирует программу, она продолжает работать. Но это и похоже на multireading и multiprocessing. Вот у меня возникает вопрос. Multithreading = асинхронный сокет?
  • Вопрос задан
  • 1838 просмотров
Решения вопроса 2
15432
@15432
Системный программист ^_^
нет, эквивалентность многопоточности и асинхронного сокета отсутствует.

попробую объяснить суть асинхронного сокета на простом примере.

подходите вы к лотку купить минералки, а её нет, но продавщица сообщает, что скоро привезут.

возможные варианты вашего ответа:
1) "я подожду" - синхронный сокет, программа ожидает, пока не придёт сообщение.
1.5) "долго не везут что-то, надоело ждать, ухожу" - синхронный сокет с таймаутом
2) "ну ладно, я попозже загляну" - асинхронный сокет, программа не ждёт сообщения и занимается своими делами дальше
2.5) "я вернулся, ну как, привезли? да? ну вот и отлично, забираю" - асинхронный сокет, очередная попытка приёма данных, на этот раз успешная
3) "алё, Вован, я стою минералку жду, вернусь попозже, работай, не отвлекайся" - синхронный сокет + многопоточность. один поток ожидает приёма данных, другой поток работает
3.5) "Вован, тут минералки ещё нет, ща вернусь" - многопоточность + асинхронные сокеты. несколько потоков работают одновременно, на приеме данных не блокируются
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Нет.
Потоки исполнения в программе - это Multithreading.
Асинхронный сокет - это параллельно-независимый (асинхронный) обмен данными внутри сокета.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы