sync.Cond — условная переменная: Wait() отпускает лок и блокирует горутину, Signal() будит одну, Broadcast() будит всех. Используется когда нужно ждать условие, а не просто лок. Пример: producer-consumer с ограниченным буфером. Wait всегда в цикле (spurious wakeup). На практике каналы проще, Cond нужен когда несколько условий на одном локе.
Как работает sync.Cond и когда его использовать?
Middle
140 просмотровAFK Offer AI
Что такое sync.Map amortized operations?