Разве синхронный вызов не является просто асинхронным вызовом с небольшим значением времени ожидания? - PullRequest
5 голосов
/ 17 марта 2010

Меня немного смущает вопрос, почему синхронный вызов отличается от асинхронного вызова, так как "немедленного" ответа никогда не бывает, он все равно занимает несколько нано или миллисекунд?

1 Ответ

15 голосов
/ 17 марта 2010

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

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

Часто существует асинхронно запущенное действие для того, чтобы «сообщить», что оно завершено, или вызывающее действие может опрашивать или иным образом искать доказательства завершения асинхронной задачи.

...