一个好的解释,
原子操作是不能细分为更小部分的操作。因此,它永远不会半途而废,因此您可以保证它将始终以一致的状态被观察到。例如,现代硬件实现原子比较和交换操作。
互斥锁排除其他进程或线程执行同一段代码(关键段)。基本上,它确保最多一个线程执行给定的代码段。互斥锁也称为锁。
在幕后,锁必须以某种方式使用硬件实现,并且实现必须利用底层硬件的原子性保证。
大多数非平凡操作都不能成为原子操作,因此必须在关键部分执行时使用锁来阻止其他线程操作,否则必须仔细设计无锁算法,以确保所有关键状态更改操作都可以使用原子操作安全实现。
参考:
标签:原子,硬件,互斥,线程,操作,多线程 From: https://www.cnblogs.com/strive-sun/p/17044701.html