Что выведет: ch := make(chan int, 1); ch <- 1; ch <- 2?

Junior
156 просмотров
AFK Offer AI

Deadlock на ch <- 2. Буфер размером 1 — первая отправка проходит, вторая блокируется потому что буфер полон и никто не читает. Fatal error: all goroutines are asleep - deadlock. Фикс: увеличить буфер, читать из канала, или отправлять из отдельной горутины с select+default для non-blocking send.

Следующий вопрос

Задача: спроектируйте систему чата с поддержкой групп