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.