Go Mutex and RWMutex: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=External= * https://pkg.go.dev/sync#Mutex =Internal= * The <tt>sync</tt> package =Overview= A <code>Mutex</code> is a mutual exclusion lock. Only o...") |
|||
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]] | |||
=Overview= | =Overview= |
Revision as of 19:31, 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()