开发者社区> 问答> 正文

synchronized和java.util.concurrent.locks.Lock有什么区别?

synchronized和java.util.concurrent.locks.Lock有什么区别?

展开
收起
爱喝咖啡嘿 2021-10-26 17:37:36 645 0
1 条回答
写回答
取消 提交回答
  • Lock是Java 5以后引入的新的API,和关键字synchronized相比主要相同点:Lock 能完成synchronized所实现的所有功能;主要不同点:Lock有比synchronized更精确的线程语义和更好的性能,而且不强制性的要求一定要获得锁。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且最好在finally 块中释放(这是释放外部资源的最好的地方)。

    2021-10-26 17:38:13
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载