Sobes.tech
Junior — Middle

Ar naudojote atomines operacijas savo projektuose?

sobes.tech AI

Atsakymas iš AI

Go kalboje atominės operacijos naudojamos saugiai keisti kintamuosius konkurencinėje aplinkoje be užraktų. Pavyzdžiui, sync/atomic paketas teikia funkcijas atominiam reikšmių didinimui, palyginimui ir keitimui.

Atominio skaitiklio didinimo pavyzdys:

import (
    "fmt"
    "sync/atomic"
)

var counter int64

func increment() {
    atomic.AddInt64(&counter, 1)
}

func main() {
    increment()
    fmt.Println(atomic.LoadInt64(&counter)) // Išves 1
}

Atominių operacijų naudojimas padeda išvengti lenktynių sąlygų dirbant su paprastais duomenų tipais ir užtikrina aukštą našumą be užraktų.