Java并发编程
Java并发编程
大何向东流1997
追逐着鹿的猎人是看不见山的。
展开
-
Synchronized的实现原理以及优化
在多线程学习阶段,我们经常会使用synchronized来解决线程间的同步问题,很少关注过它的实现原理,但在并发编程的学习中,我们需要对synchronized的实现原理以及优化有更多的了解。一、利用sychronized实现同步的三种方式对于普通同步方法,锁是当前实例对象this。 对于静态同步方法,锁是当前类的Class对象。 对于同步方法块,锁是Synchonized括号里配置的对象。二、synchronized实现原理先来看下面一段代码:public class Sync.原创 2020-11-09 23:51:30 · 372 阅读 · 0 评论 -
ReentrantLock中lock()和unlock()源码分析
并发内容中少不了ReentrantLock,它是面试中的高频考点。为了让自己理解ReentrantLock的工作原理,总结网上各大优秀博主笔记后写此文章,以便日后在此基础上不断学习。ReentrantLock是可重入锁,主要基于CAS+AQS队列来实现,所以在此之前需要对CAS和AQS有基本的了解。ReentrantLock支持公平锁和非公平锁两种实现方式,我们下面主要利用非公平锁来分析lock()和unlock()执行过程,在最后会对公平锁和非公平锁两者不同的地方做个简单的比较。先来看下Ree.原创 2020-10-31 16:09:05 · 237 阅读 · 0 评论