Wenn es mit einem gleichzeitigen Programm in Go
arbeitet, verwenden wir var mutex sync.Mutex
und dann, wenn wir einen synchronisierten Codeblock schreiben ausführen, rufen wir mutex.Lock()
und mutex.Unlock()
. Jetzt habe ich einige Zweifel hier:Wie funktioniert sync.Mutex Arbeit in einem gleichzeitigen Golang Programm
1) Gibt es nur eine Instanz von mutex
dh wenn mutex
zur Verriegelung für den Betrieb von CodeBlockA verwendet wird, und zugleich einige andere goroutine B
hat es für einige andere CodeBlockB zu verwenden, die benutzt auch mutex
, wird goroutine B
blockiert bis goroutine A
entlastet mutex
.
2) Ist es möglich, dass wir mehr Instanzen der Stummheit haben können, die ihre eigenen dedizierten Codeblöcke schützen?
zeigen uns einige Code. – OneOfOne