AQS

Condition 源码分析

作者 Siran | 6000字 | 阅读大约需要12分钟 | 归档于并发编程

2020年3月1日

Condition可以替代传统的Object中的wait()、notify()和notifyAll()方法来实现线程间的通信,使线程间协作更加安全和高效。

继续阅读

CountDownLatch 源码分析

作者 Siran | 4600字 | 阅读大约需要10分钟 | 归档于并发编程

2020年2月5日

CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。

继续阅读

ReentrantReadWriteLock 源码分析

作者 Siran | 3100字 | 阅读大约需要7分钟 | 归档于并发编程

2020年2月5日

ReentrantReadWriteLock 是什么?

继续阅读

CyclicBarrier 源码分析

作者 Siran | 2500字 | 阅读大约需要5分钟 | 归档于并发编程

2020年2月4日

CyclicBarrier(回声栅栏)根据Javadoc描述,它会阻塞一组线程直到这些线程同时达到某个条件才继续执行。它就像一个栅栏一样,当一组线程都到达了栅栏处才继续往下走。

继续阅读

ReentrantLock 源码分析

作者 Siran | 6900字 | 阅读大约需要14分钟 | 归档于并发编程

2020年1月5日

通常使用锁就是 synchronized,经过 jdk 的一系列优化引入偏向锁、轻量级锁、重量级锁等概念,性能也是有很大的提高。

继续阅读

Semaphore 源码分析

作者 Siran | 2400字 | 阅读大约需要5分钟 | 归档于并发编程

2018年6月5日

基于微服务的架构是未来的趋势,但是实现这种架构会面临许多困难。现代应用架构远比过去的架构复杂,因此实现微服务架构将会带来了一系列特殊的挑战,而服务网格可以帮我们解决很多问题。

继续阅读