Go Package atomic: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
=External= | =External= | ||
* https://pkg.go.dev/sync/atomic | |||
* https:// | |||
=Internal= | =Internal= | ||
Line 7: | Line 6: | ||
* [[Go_Language_Modularization#atomic|Standard Library]] | * [[Go_Language_Modularization#atomic|Standard Library]] | ||
* [[Go Package sync|The "sync" package]] | * [[Go Package sync|The "sync" package]] | ||
* [[Go_Language_Goroutines#Atomic_Primitives|Goroutines]] | |||
=Overview= | =Overview= |
Latest revision as of 18:43, 20 December 2023
External
Internal
Overview
Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms. These functions require great care to be used correctly. Except for special, low-level applications, synchronization is better done with channels or the facilities of the sync package. Share memory by communicating; don't communicate by sharing memory.
When goroutines attempt to call any atomic function, they're automatically synchronized agains the variable that is being referenced.