Go Mutex and RWMutex: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 3: | Line 3: | ||
=Internal= | =Internal= | ||
* [[Go_Package_sync#Mutex|The <tt>sync</tt> package]] | * [[Go_Package_sync#Mutex|The <tt>sync</tt> package]] | ||
* [[Go_Language_Goroutines#Mutex|Goroutines | | * [[Go_Language_Goroutines#Mutex|Goroutines | Synchronization]] | ||
=Overview= | =Overview= |
Revision as of 19:34, 5 September 2023
External
Internal
Overview
A Mutex
is a mutual exclusion lock. Only one goroutine can enter the critical section at a time. Not until the call to the Unlock()
function issued can another goroutine enter the critical section.
Usage pattern (the curly braces are not necessary):
var mutex sync.Mutex
...
mutex.Lock() {
// do something in a mutual exclusion mode
}
mutex.Unlock()