【Go语言核心手册10】原子操作

往期精选(欢迎转发~~)

  • 如何看待程序员35岁职业危机?

  • Java全套学习资料(14W字),耗时半年整理

  • 我肝了三个月,为你写出了GO核心手册

  • 消息队列:从选型到原理,一文带你全部掌握

  • 肝了一个月的ETCD,从Raft原理到实践

  • 更多...

​10.1 内容前导

上一章我们学到,互斥锁是一个很有用的同步工具,它可以保证每一时刻进入临界区的goroutine只有一个。通过对互斥锁的合理使用,我们可以使一个goroutine在执行临界区中的代码时,不被其他的goroutine打扰,但是它仍然可能会被中断(interruption)。

那什么是原子操作呢?我们已经知道,原子操作即是进行过程中不能被中断的操作。也就是说,针对某个值的原子操作在被进行的过程当中,CPU绝不会再去进行其它的针对该值的操作。为了实现这样的严谨性,原子操由 CPU 提供芯片级别的支持,所以绝对有效,即使在拥有多 CPU 核心,或者多 CPU 的计算机系统中,原子操作的保证也是不可撼动的。这使得原子操作可以完全地消除竞态条件,并能够绝对地保证并发安全性,它的执行速度要比其他的同步工具快得多࿰

你可能感兴趣的:(Go教程,go语言)