专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
目录
今天看啥  ›  专栏  ›  码小辫

3个月面试近300人,发现大部分人回答不出来这道题的重点!

码小辫  · 公众号  ·  · 2024-10-15 10:10

文章预览

在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。 既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢? 这是不是重复造轮子,多此一举呢? 今天,我们就一起来探讨下这个问题。 再造轮子? 既然JVM中提供了synchronized关键字来保证只有一个线程能够访问同步代码块,为何还要提供Lock接口呢?这是在重复造轮子吗?Java的设计者们为何要这样做呢?让我们一起带着疑问往下看。 为何提供Lock接口? 很多小伙伴可能会听说过,在Java 1.5版本中,synchronized的性能不如Lock,但在Java 1.6版本之后,synchronized做了很多优化,性能提升了不少。那既然synchronized关键字的性能已经提升了,那为何还要使用Lock呢? 如果我们向更深层次思考的话,就不难想到了:我们使用synchronized加锁是无法主动释放锁的,这就会涉及 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览