synchronized是调用操作系统内核态做同步,JVM只是针对这个原语根据线程和临界区的各种情况做了优化,也就是偏向锁,轻量级锁 锁膨胀 重量级锁  竞争失败一方自旋  自旋期间如果依然没能获得锁则直接挂起线程(JDK1.6) ReentrantLock则是通过同步器AQS,在完成synchronized的主要功能需求的同时更多的是使用CAS操作来进行对资源临界区的锁定(底层使用sun.misc.unsafe调用硬件级CAS) 再一个 synchronized不会被ReentrantLock完全代替 我觉着这可能是他想让你答的,你开始答得只是功能上的区别。可能他会觉得深度不够吧
点赞 4

相关推荐

11-23 15:14
中原工学院 Java
点赞 评论 收藏
分享
11-12 14:30
已编辑
广东科技学院 前端工程师
迷茫的小刺猬在迎接o...:前端岗位越来越少了,中小厂也更倾向全栈了,更不需要初级或者实习。可能就大厂才会有一些岗位,但是很看学历。
实习,投递多份简历没人回...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务