Junior — Middle
Използвали ли сте атомарни операции в проектите си?
sobes.tech AI
Отговор от AI
В Go, атомарните операции се използват за безопасна промяна на променливи в конкурентна среда без използване на мьютекси. Например, пакетът sync/atomic предоставя функции за атомарно увеличаване, сравняване и замяна на стойности.
Пример за атомарно увеличаване на брояч:
import (
"fmt"
"sync/atomic"
)
var counter int64
func increment() {
atomic.AddInt64(&counter, 1)
}
func main() {
increment()
fmt.Println(atomic.LoadInt64(&counter)) // Ще изведе 1
}
Използването на атомарни операции помага да се избегнат състезателни условия при работа с прости типове данни, осигурявайки висока производителност без блокировки.