![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java锁
不将就不念旧
错过的就错过了。
展开
-
利用AQS实现自定义锁
利用AQS实现自定义锁,只需要自定义实现一个同步器,重写AQS中两个方法tryAcquire和tryRelease,如果是 共享锁的话则只需重写tryAcquireShared和tryReleaseShared两个方法,如果需要实现Condition效果则需要另外 重写isHeldExclusively方法。 这里只是简单的实现了自定义独占锁的效果,只提供了加锁和解锁两个方法。 ...原创 2019-11-20 13:56:09 · 395 阅读 · 0 评论 -
浅谈偏向锁、轻量级锁、重量级锁
首先说一下锁的优化策略。 1,自旋锁 自选锁其实就是在拿锁时发现已经有线程拿了锁,自己如果去拿会阻塞自己,这个时候会选择进行一次忙循环尝试。也就是不停循环看是否能等到上个线程自己释放锁。这个问题是基于一个现实考量的:很多拿了锁的线程会很快释放锁。因为一般敏感的操作不会很多。当然这个是一个不能完全确定的情况,只能说总体上是一种优化。 举个例子就好比一个人要上厕所发现厕所里面有人,他可以:1,等一小会...原创 2019-11-19 11:09:48 · 303 阅读 · 0 评论