同步原语的三种常见类型

同步原语的三种常见类型

Content #

同步原语(synchronization primitive)监管内存的访问,与交通灯控制十字路口的访问方式相同,正如红绿灯一样,它们停止交通的流动,引起等待时间(延时)。常见的有哪三种类型?

  • mutex(MUTually EX clusive)锁只有锁持有者才能操作,其他线程会阻塞并等待CPU。
  • 自旋锁自旋锁允许锁持有者操作,其他的需要自旋锁的线程会在CPU 上循环自旋,检查锁是否被释放。虽然这样可以提供低延时的访问,被阻塞的线程不会离开 CPU,时刻准备着运行直到锁可用,但是线程自旋、等待也是对CPU 资源的浪费。
  • 读写锁读/写锁通过允许多个读者或者只允许一个写者而没有读者,来保证数据的完整性。

Viewpoint #

From #