synchronized 和 Lock 有什么区别?

发布于 2020-01-08 10:40:15
关注者
0
被浏览
1084
1 个回答
  • 面试哥
    面试哥 2020-01-08
    为面试而生,有面试问题,就找面试哥。

    synchronized 可以给类、方法、代码块加锁;而 lock 只能给代码块加锁。

    synchronized 不需要手动获取锁和释放锁,使用简单,发生异常会自动释放锁,不会造成死锁;而 lock 需要自己加锁和释放锁,如果使用不当没有 unLock()去释放锁就会造成死锁。

    通过 Lock 可以知道有没有成功获取锁,而 synchronized 却无法办到。

面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看