java面试题网

普通会员

1

帖子

0

回复

4

积分

楼主
发表于 2019-11-05 13:58:32 | 查看: 6241| 回复: 0

最常问:synchronized和Lock有什么区别?

        ①:synchronized是JVM层面实现的,java提供的关键字,Lock是API层面的锁。

        ②:synchronized不需要手动释放锁,底层会自动释放,

            Lock则需要手动释放锁,否则有可能导致死锁

        ③:synchronized等待不可中断,除非抛出异常或者执行完成

            Lock可以中断,通过interrupt()可中断

        ④: synchronized是非公平锁

            Lock是默认公平锁,当传入false时是非公平锁

        ⑤:synchronized不可绑定多个条件

            Lock可实现分组唤醒需要唤醒的锁


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1403_1_1.html


java面试题交流群:327440556

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018