Как работает sync.Cond и когда его использовать?

Middle
100 просмотров
AFK Offer AI

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

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

Что такое distributed rate limiting?