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

面试的被问到,应该怎么回答?
全部评论
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

相关推荐

小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务