Какую роль каналы играют в конкурентном выполнении программ на Go?
Это постоянные очереди, хранящиеся только на диске.
Один канал может свободно смешивать значения несвязанных типов.
Они заменяют goroutine и самостоятельно выполняют весь конкурентный код.
Они обеспечивают обмен данными и синхронизацию между goroutine в порядке FIFO.