Sobes.tech
Middle

Atomik operatsiyalar qanday ishlaydi?

sobes.tech AI

AIdan javob

Atomik operatsiyalar butun yoki umuman bajarilmaydigan operatsiyalar bo'lib, boshqa oqimlar uchun o'rtacha holatlar ko'rinmaydi.

Go'da, sync/atomic paketi, bunday operatsiyalarni o'zgaruvchilar ustida bajarish uchun funksiyalar taqdim etadi (masalan, AddInt32, CompareAndSwapInt64). Bu, mutexlarsiz, raqobat muhitida qiymatlarni xavfsiz o'zgartirish imkonini beradi.

Misol:

import (
    "fmt"
    "sync/atomic"
)

func main() {
    var counter int32 = 0
    atomic.AddInt32(&counter, 1) // atomik oshirish 1 ga
    fmt.Println(counter) // 1
}

Atomiklik, operatsiya to'xtatilmaydi va boshqa goroutinlar eski yoki yangi qiymatni ko'radi, o'rtacha holatni emas.