From b892a34d636734eee64d6a388287e0ab803ffab9 Mon Sep 17 00:00:00 2001 From: Fedor Korotkiy Date: Tue, 28 Mar 2023 12:44:18 +0400 Subject: [PATCH] Update keylock --- keylock/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/keylock/README.md b/keylock/README.md index 390142b..a330a41 100644 --- a/keylock/README.md +++ b/keylock/README.md @@ -5,7 +5,8 @@ В обычном `sync.Mutex` лок всего один. В один момент времени этот лок может находиться у одной горутины. В нашем примитиве локов может быть сколько угодно. Каждый лок мы идентифицируем ключём - строкой. Каждая горутина приходит к нам со списком ключей и хочет захватить сразу -все локи из этого списка. +все локи из этого списка. (Наша аналогия с `sync.Mutex` вовсе не значит, что нужно использовать +`sync.Mutex` в реализации. Лучше использовать каналы, чтобы проще было реализовать отмену.) В итоге, внутри критической секции может быть сколько угодно горутин, но у всех них множества ключей попарно не пересекаются.