Ответ
Асинхронность — это модель выполнения задач без блокировки потока, где операции могут выполняться в фоне с уведомлением о завершении (например, через колбэки или каналы). Параллелизм — это одновременное выполнение нескольких задач на разных ядрах CPU.
Пример асинхронности в Go:
go func() {
// выполняется асинхронно
}()
Пример параллелизма (при наличии многоядерного CPU):
runtime.GOMAXPROCS(4) // используем 4 ядра
go task1() // могут выполняться параллельно
go task2() // на разных ядрах
Ключевое отличие: асинхронность — про организацию кода, параллелизм — про физическое выполнение. В Go горутины могут работать и асинхронно, и параллельно, в зависимости от GOMAXPROCS.