Update keylock
This commit is contained in:
parent
a85b1f6878
commit
b892a34d63
1 changed files with 2 additions and 1 deletions
|
@ -5,7 +5,8 @@
|
||||||
В обычном `sync.Mutex` лок всего один. В один момент времени этот лок может находиться
|
В обычном `sync.Mutex` лок всего один. В один момент времени этот лок может находиться
|
||||||
у одной горутины. В нашем примитиве локов может быть сколько угодно. Каждый лок мы идентифицируем
|
у одной горутины. В нашем примитиве локов может быть сколько угодно. Каждый лок мы идентифицируем
|
||||||
ключём - строкой. Каждая горутина приходит к нам со списком ключей и хочет захватить сразу
|
ключём - строкой. Каждая горутина приходит к нам со списком ключей и хочет захватить сразу
|
||||||
все локи из этого списка.
|
все локи из этого списка. (Наша аналогия с `sync.Mutex` вовсе не значит, что нужно использовать
|
||||||
|
`sync.Mutex` в реализации. Лучше использовать каналы, чтобы проще было реализовать отмену.)
|
||||||
|
|
||||||
В итоге, внутри критической секции может быть сколько угодно горутин, но у всех них множества
|
В итоге, внутри критической секции может быть сколько угодно горутин, но у всех них множества
|
||||||
ключей попарно не пересекаются.
|
ключей попарно не пересекаются.
|
||||||
|
|
Loading…
Reference in a new issue