标签: 源码分析
All the articles with the tag "源码分析".
源码分析:CyclicBarrier 之循环栅栏
Published: at 13:45:47JDK源码分析 CyclicBarrier,CyclicBarrier 是一个同步辅助工具,允许一组线程全部等待彼此达到共同屏障点,且等待的线程被释放后还可以重新使用,所以叫做Cyclic(循环的)。
Spring 事件监听机制及原理分析
Published: at 14:48:17深入理解 Spring 事件监听机制原理:从基础到高级,包括观察者模式、Java事件处理、Spring事件类详解、异步事件处理以及Spring容器事件广播原理。学习如何使用 Spring 事件监听机制实现异步操作、解耦设计、提升应用性能和响应能力
AbstractQueuedSynchronizer(AQS) 总结篇
Published: at 11:38:25AQS 全称是AbstractQueuedSynchronizer,在java.util.concurrent.locks包下面,是一个抽象的可以实现阻塞线程、排队控制、唤醒线程等操作的同步器基础框架类,AQS 可以实现排它锁、共享锁、条件锁、计数器等相关功能。
源码分析:CountDownLatch 之倒计时门栓
Published: at 19:25:51JDK源码分析 CountDownLatch,CountDownLatch 是JDK1.5 开始提供的一种同步辅助工具,它允许一个或多个线程一直等待,直到其他线程执行的操作完成为止。在初始化的时候给定 CountDownLatch 一个计数,调用await() 方法的线程会一直等待,其他线程执行完操作后调用countDown(),当计数减到0 ,调用await() 方法的线程被唤醒继续执行。
源码分析:Semaphore之信号量
Published: at 16:01:07JDK源码分析 Semaphore,Semaphore 又名计数信号量,从概念上来讲,信号量初始并维护一定数量的许可证,使用之前先要先获得一个许可,用完之后再释放一个许可。信号量通常用于限制线程的数量来控制访问某些资源,从而达到单机限流的目的,比如SpringCloud 中的Zuul 组件用的是 Hystrix 的信号量(semaphore)隔离模式。
源码分析:StampedLock之升级版的读写锁
Published: at 18:05:59JDK StampedLock 源码分析,StampedLock 是JDK1.8 开始提供的一种锁, 是对之前介绍的读写锁 ReentrantReadWriteLock 的功能增强。StampedLock 有三种模式:Writing(写)、Reading(读)、Optimistic Reading(乐观度),StampedLock 的功能不是基于AQS来实现的,而是完全自己内部实现的功能,不支持重入。在加锁的时候会返回一个戳,解锁的时候需要传入,匹配完成解锁操作。
源码分析:ReentrantReadWriteLock之读写锁
Published: at 17:47:26JDK源码分析 ReentrantReadWriteLock,从字面意思可以看出,是和重入、读写有关系的锁,实际上 ReentrantReadWriteLock 确实也是支持可重入的读写锁,并且支持公平和非公平获取锁两种模式。