1/4
腾讯频道 - golang训练营 - 图片
腾讯频道 - golang训练营 - 图片
腾讯频道 - golang训练营 - 图片
腾讯频道 - golang训练营 - 图片
#golang 原子操作和锁的区别

1.原子操作由底层硬件支持,而锁是基于原子操作+信号量完成的。若实现相同的功能,前者通常会更有效率
2.原子操作是单个指令的互斥操作;互斥锁/读写锁是一种数据结构,可以完成临界区(多个指令)的互斥操作,扩大原子操作的范围
3.原子操作是无锁操作,属于乐观锁;说起锁的时候,一般属于悲观锁
4.原子操作存在于各个指令/语言层级,比如*机器指令层级的原子操作",““汇编指令层级的原子操作”,“Go语言层级的原子操作”等。
5.锁也存在于各个指令/语言层级中,比如“机器指令层级的锁”,“汇编指令层级的锁“Go语言层级的锁“等
2024-10-31
浏览190
暂无评论
登录后评论
评论
1