锁的底层实现原理是什么?

面试的被问到,应该怎么回答?
全部评论
CAS,lock指令(锁总线),还有硬件提供的原子操作,关中断
点赞
送花
回复
分享
发布于 2017-09-07 11:15
Java的话除了sychronized 以外的锁基本都是AQS基类派生出来的子类,不同锁就是对基类那些函数的不同重写
点赞
送花
回复
分享
发布于 2017-09-07 10:56
滴滴
校招火热招聘中
官网直投
偏向锁,轻量锁,重量锁,自旋,CAS,AQS,CLK
点赞
送花
回复
分享
发布于 2017-09-07 12:07
哪种语言的锁? 哪个平台的锁? 锁的类别太多了,一个个讲估计得讲一小时
点赞
送花
回复
分享
发布于 2017-09-07 10:53
锁的功能是保证原子性和可见性。原子性是通过总线锁或缓存锁实现。可见性是通过禁止特定类型的重排序实现~
点赞
送花
回复
分享
发布于 2017-09-07 11:56
Java的Lock接口本质都是 volatile int 类型的同步状态 + 循环CAS操作;总线锁、缓存锁应该是volatile操作在CPU层次的实现机制
点赞
送花
回复
分享
发布于 2017-09-07 11:58
操作系统?互斥变量、条件变量、信号量+pv操作
点赞
送花
回复
分享
发布于 2017-09-07 12:42
单核禁止中断,CAS操作 多核锁内存总线机制 都是硬件实现的原子操作
点赞
送花
回复
分享
发布于 2017-09-07 13:21

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务