比如在互斥锁的实现
(m *Mutex) Lock()中使用的
atomic.CompareAndSwapInt32
查看定义的时候只在
atomic/doc.go文件里面看见其声明,而无定义。
其实原子操作的系列函数的定义是用汇编实现的,在同目录的asm.s文件里,搜对应的函数名就可以看见其实现了。
比如在互斥锁的实现
(m *Mutex) Lock()中使用的
atomic.CompareAndSwapInt32
查看定义的时候只在
atomic/doc.go文件里面看见其声明,而无定义。
其实原子操作的系列函数的定义是用汇编实现的,在同目录的asm.s文件里,搜对应的函数名就可以看见其实现了。