
多线程并发
spring-hz
a programming engineer
展开
-
ReentrantLock中公平锁与非公平锁的实现原理
在java中,一般的锁实现都要借助队列同步器AbstractQueuedSynchronizer,继承它并重写其指定的方法,随后调用同步器提供的模板方法,模板方法最终会再调用到自己重写的方法。tryAcquire(int acquires)就是其中的一个抽象方法,需要重写。ReentrantLock公平锁与非公平锁的实现原理区别就是抽象方法tryAcquire的实现不同。公平锁的同步器tryA...原创 2019-03-29 19:06:36 · 1313 阅读 · 0 评论 -
同步器AQS中的同步队列与等待队列
在单纯地使用锁,比如ReentrantLock的时候,这个锁组件内部有一个继承同步器AQS的类,实现了其抽象方法,加锁、释放锁也只是涉及到AQS中的同步队列而已,那么等待队列又是什么呢?当使用Condition的时候,等待队列的概念就出来了。Condition的获取一般都要与一个锁Lock相关,一个锁上面可以生产多个Condition。Condition接口的主要实现类是AQS的内部类Con...原创 2019-03-30 00:01:55 · 7581 阅读 · 9 评论 -
Executor框架的结构
参考并发编程的艺术转载 2019-03-30 23:39:04 · 164 阅读 · 0 评论 -
java中线程的基本方法使用
java中线程的基本方法的熟练使用是精通多线程编程的必经之路,线程相关的基本方法有wait,notify,notifyAll,sleep,join,yield等,本文浅要的介绍一下它们的使用方式。线程的状态图java将操作系统中的就绪和运行两种状态统称为可运行状态,java中线程的状态可以认为有以上六种。wait调用该方法的线程进入WAITING状态,只有等待另外线程的通知或被中断才会返...原创 2019-03-28 22:15:18 · 671 阅读 · 0 评论