- 博客(5)
- 收藏
- 关注
原创 Semaphore -信号量、实现限流
信号量模型一个计数器、一个等待队列、三个方法。计数器和等待队列对外是透明的三个方法:Init(); 初始化计数器down(); 计数器的值-1;如果此时计数器的值小于0,则当前线程将被阻塞,否则当前线程继续执行; – 在Semphore中是acquire()方法up(); 计数器的值+1;如果此时计数器的值大于或等于0,则唤醒等待队列中的一个线程,并将其从等待队列中移除; – 在Se...
2019-12-12 13:38:56 1068 1
原创 ReadWriteLock - 读写锁
读写锁三条基本原则允许多个线程同时读共享变量;只允许一个线程写共享变量;如果一个写线程正在执行写操作,此时禁止读线程读共享变量。读写锁允许多个线程同时读共享变量,适用于读多写少的场景读写锁的写操作是互斥的,当一个线程在写共享变量的时候,是不允许其他线程执行写操作和读操作公平性选择:支持公平与非公平(默认)的锁获取方式,吞吐量非公平优先于公平。可重入:读线程获取读锁之后可以再次获...
2019-12-12 13:36:00 148
原创 StampedLock - 更快的读写锁
StampedLock 支持的三种锁模式写锁:只允许一个线程获取到写锁,有读锁的时候会被阻塞,无法获取到写锁悲观读锁:允许多个线程获取到读锁乐观读:这种方式是不加锁的StampedLock 获取到悲观读锁和写锁会返回stamp对象,解锁的时候需要传这个stampfinal StampedLock sl = new StampedLock();// 获取/释放悲观读锁示意代码lon...
2019-12-12 13:29:17 264
原创 SpringBoot自动装配,实现自定义配置
定义基于约定大于配置的原则,实现Spring组件自动装配的目的装配的依赖(方式)模式注解、@Enable模块、条件装配、工厂加载机制激活自动化装配、实现自动化装配、配置自动装配实现底层装配技术Spring 模式注解装配Spring @Enable模块装配Spring条件装配Spring工厂加载机制实现类: SpringFactoriesLoader配置资源:META-IN...
2019-03-17 23:28:13 1897
原创 Spring 条件装配
定义从Spring Framework 3.1开始,允许Bean 装配时增加前置条件判断判断方式@Profile: 配置化条件装配,Spring Framework 3.1@Conditional:编程条件装配,Spring Framework 4.0实现方式注解方式-- @Profile首先定义一个接口/** * 计算整数求和 */public interface Ca...
2019-03-17 22:18:54 303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人