侧边栏壁纸
博主头像
流殃博主等级

用微笑面对生活

  • 累计撰写 176 篇文章
  • 累计创建 43 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

lock和synchronized区别

流殃
2021-11-24 / 0 评论 / 0 点赞 / 136 阅读 / 329 字 / 正在检测是否收录...

区别

  1. lock是一个方法,synchronized是一个关键字
  2. 是否会主动释放锁 lock必须手动释放,synchronized可以自动释放
  3. 是否响应中断 lock 等待锁过程中可以用 interrupt 来中断等待,而 synchronized 只能等待锁的释放,不能响应中断。
  4. Lock 可以提高多个线程进行读操作的效率。
  5. 在性能上来说,如果竞争资源不激烈,两者的性能是差不多的,而当竞争资源非常激烈时(即有大量线程同时竞争),此时 Lock 的性能要远远优于 synchronized。所以说,在具体使用时要根据适当情况选择。
  6. synchronized 使用 Object 对象本身的 wait 、notify、notifyAll 调度机制,而 Lock 可以使用 Condition 进行线程之间的调度。
0

评论区