jjzjj

LoadUint

全部标签

go - atomic.LoadUint32 是必需的吗?

Go的原子包提供函数funcLoadUint32(addr*uint32)(valuint32)。我查看了程序集实现:TEXT·LoadUint32(SB),NOSPLIT,$0-12MOVQaddr+0(FP),AXMOVL0(AX),AXMOVLAX,val+8(FP)RET基本上从内存地址加载值并返回它。我想知道如果我们有一个uint32pointer(addr)x,调用atomic.LoadUint32(x)和直接使用*访问它有什么区别x? 最佳答案 whichbasicallyloadthevaluefromthememo

go - atomic.LoadUint32 是必需的吗?

Go的原子包提供函数funcLoadUint32(addr*uint32)(valuint32)。我查看了程序集实现:TEXT·LoadUint32(SB),NOSPLIT,$0-12MOVQaddr+0(FP),AXMOVL0(AX),AXMOVLAX,val+8(FP)RET基本上从内存地址加载值并返回它。我想知道如果我们有一个uint32pointer(addr)x,调用atomic.LoadUint32(x)和直接使用*访问它有什么区别x? 最佳答案 whichbasicallyloadthevaluefromthememo