Асинхронность — это техника, позволяющая продолжать выполнение основного потока, пока какая-то операция происходит в фоновом режиме, ожидая своего завершения без блокировки.
Многопоточность — это способность программы выполнять несколько частей своей работы (потоков) одновременно или псевдо-одновременно (на одноядерных процессорах).
Ключевое отличие:
Асинхронность может быть реализована как с использованием многопоточности (например, через GCD или OperationQueue), так и без неё (например, через событийные циклы или корутины).
Пример использования GCD для асинхронной работы на другом потоке:
swift