Update keylock

This commit is contained in:
Fedor Korotkiy 2023-03-28 12:44:18 +04:00
parent a85b1f6878
commit b892a34d63

View file

@ -5,7 +5,8 @@
В обычном `sync.Mutex` лок всего один. В один момент времени этот лок может находиться
у одной горутины. В нашем примитиве локов может быть сколько угодно. Каждый лок мы идентифицируем
ключём - строкой. Каждая горутина приходит к нам со списком ключей и хочет захватить сразу
все локи из этого списка.
все локи из этого списка. (Наша аналогия с `sync.Mutex` вовсе не значит, что нужно использовать
`sync.Mutex` в реализации. Лучше использовать каналы, чтобы проще было реализовать отмену.)
В итоге, внутри критической секции может быть сколько угодно горутин, но у всех них множества
ключей попарно не пересекаются.