Разница между асинхронными и синхронными методами в C# заключается в том, что асинхронные методы выполняются в отдельном потоке, а синхронные — в том же, в котором вызван метод. 9
Синхронные методы предполагают, что потоку назначается одна задача, и начинается её выполнение. 4 Заняться следующей задачей можно только тогда, когда завершится выполнение первой. 4 Эта модель не предполагает приостановку одной задачи, чтобы выполнить другую. 4
Асинхронные методы позволяют выполнять код без блокировки потока. 6 Пока выполняется вызываемый метод, поток продолжает выполнять другой код. 6 Асинхронные методы выполняются в отдельных потоках, но при выполнении продолжительной операции поток возвратится в пул потоков и будет использоваться для других задач. 3 Когда продолжительная операция завершит своё выполнение, для асинхронного метода опять выделяется поток из пула потоков, и асинхронный метод продолжает свою работу. 3