摘要: ReentrantReadWriteLock 源码解析,欢迎指正。 读写锁同样依赖AQS抽象队列同步器来实现同步功能,而读写状态就是其同步器的同步状态。回想ReentrantLock中自定义同步器的实现,同步状态表示锁被一个线程重复获取的次数, 而读写锁的自定义同步器需要在同步状态(一个整形变量)上 阅读全文
posted @ 2019-09-19 16:32 北溪 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 先改造 测试一下是不是线程安全 观察输出结果,确实是读的时候不会写,写的时候不会读。避免出现脏读现象。 嗯,就是这样。虽然用读写锁,改造了hashmap ,但是这是任何的key都会加上读写锁,控制上还是不够精细,可以优化成相同的key 才会有竞争关系,有竞争关系才需要加读写锁。更精细的控制就能让性能 阅读全文
posted @ 2019-09-19 12:04 北溪 阅读(561) 评论(0) 推荐(0) 编辑