Middle
Операҳои атомӣ чӣ гуна кор мекунанд?
sobes.tech AI
Ҷавоб аз AI
Операцияҳои атомӣ — ин оператсияҳое мебошанд, ки ё пурра иҷро мешаванд ё ҳеҷ гоҳ, бе ҳолатҳои миёнаи намоён барои дигар ҷараёнҳо.
Дар Go, бастаи sync/atomic функсияҳоро барои иҷрои чунин оператсияҳо бар рӯи тағйирёбандаҳо пешниҳод мекунад (масалан, AddInt32, CompareAndSwapInt64). Ин имкон медиҳад, ки арзишҳоро дар муҳити рақобатнок бехатар тағйир додан бидуни истифодаи mutexҳо.
Масалан:
import (
"fmt"
"sync/atomic"
)
func main() {
var counter int32 = 0
atomic.AddInt32(&counter, 1) // афзоиши атомӣ ба 1
fmt.Println(counter) // 1
}
Атомикӣ кафолат медиҳад, ки оператсия қатъ намешавад ва дигар ҷараёнҳо ё арзиши кӯҳна ё навро мебинанд, на байниҳамдигарӣ.