Канал — это структура hchan: кольцевой буфер (для буферизованных), два списка ожидающих горутин (sendq, recvq), мьютекс и флаг closed. При отправке: если есть ожидающий получатель — копируем данные напрямую в его стек (без буфера). Если буфер не полон — кладём в буфер. Иначе — горутина паркуется в sendq.
Как устроены каналы внутри Go runtime?
Senior
113 просмотровAFK Offer AI
Что такое deep health check?