Go Package sync: Difference between revisions
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
=Internal= | =Internal= | ||
* [[Go_Language_Concurrency#Overview|Go Concurrency]] | |||
* [[Go_Language_Modularization#sync|Standard library]] | * [[Go_Language_Modularization#sync|Standard library]] | ||
* [[Go_Language_Goroutines#Synchronization_Constructs|Goroutines]] | * [[Go_Language_Goroutines#Synchronization_Constructs|Goroutines]] | ||
* [[Go Package atomic|The <tt>atomic</tt> package]] | * [[Go Package atomic|The <tt>atomic</tt> package]] | ||
=Overview= | =Overview= |
Revision as of 21:10, 1 September 2023
External
Internal
Overview
The sync
package provides synchronization primitives to use when synchronization between goroutines is necessary.
WaitGroup
TO DISTRIBUTE
Mutex
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()