Sobes.tech
Middle

Ako fungujú atómové operácie?

sobes.tech AI

Odpoveď od AI

Atómové operácie sú operácie, ktoré sa vykonávajú úplne alebo vôbec, bez viditeľných medzičasov pre iné vlákna.

V Go balíku sync/atomic sú k dispozícii funkcie na vykonávanie takýchto operácií nad premennými (napríklad AddInt32, CompareAndSwapInt64). To umožňuje bezpečne meniť hodnoty v konkurenčnom prostredí bez použitia mutexov.

Príklad:

import (
    "fmt"
    "sync/atomic"
)

func main() {
    var counter int32 = 0
    atomic.AddInt32(&counter, 1) // atomické zvýšenie o 1
    fmt.Println(counter) // 1
}

Atomickosť zabezpečuje, že operácia nebude prerušená a iné gorutiny uvidia buď starú, alebo novú hodnotu, ale nie medzičas.