📅  最后修改于: 2023-12-03 15:31:01.174000             🧑  作者: Mango
atomic.LoadInt64()
函数介绍atomic.LoadInt64()
是 Golang 源码包 sync/atomic
中的一个函数,它可以以原子操作的方式获取一个 int64 类型变量的值。该函数还有其他几种变体,如 atomic.LoadInt32()
、atomic.LoadUint32()
等,用于获取指定类型变量的值。
函数原型如下:
func LoadInt64(addr *int64) (val int64)
参数说明:
addr
:int64 指针类型变量的地址。返回值:
val
:int64 类型变量的值。package main
import (
"fmt"
"sync/atomic"
)
func main() {
var count int64 = 10
fmt.Printf("count 初始值:%d\n", count)
newCount := atomic.LoadInt64(&count)
fmt.Printf("count 现在的值:%d\n", newCount)
}
输出结果为:
count 初始值:10
count 现在的值:10
atomic.LoadInt64()
函数的使用场景通常是在多个 goroutine 中访问同一个变量时,通过原子操作避免数据竞争。因此在单线程环境下使用该函数没有意义。atomic.LoadInt64()
函数的调用方一般不需要关心具体的加载过程,只需要获取结果即可。atomic.LoadInt64()
函数是一个原子操作,它的执行速度要比常规的变量操作要慢,这应该是使用该函数时需要注意的一个因素。