Java 并发基础 - 阅读指南

Java 并发基础 (A)

01、Java并发编程:学习攻略如何才能学好并发编程?
02、Java并发编程:可见性、原子性和有序性问题:并发编程Bug的源头
03、Java并发编程:Java内存模型:看Java如何解决可见性和有序性问题
04、Java并发编程:互斥锁(上):解决原子性问题
05、Java并发编程:互斥锁(下):如何用一把锁保护多个资源?
06、Java并发编程:一不小心就死锁了,怎么办?
07、Java并发编程:用“等待-通知”机制优化循环等待
08、Java并发编程:安全性、活跃性以及性能问题
09、Java并发编程:管程:并发编程的万能钥匙
10、Java并发编程:Java线程(上):Java线程的生命周期
11、Java并发编程:Java线程(中):创建多少线程才是合适的?
12、Java并发编程:Java线程(下):为什么局部变量是线程安全的?
13、Java并发编程:如何用面向对象思想写好并发程序
14、Java并发编程:Lock和Condition(上):隐藏在并发包中的管程
15、Java并发编程:Lock和Condition(下):Dubbo如何用管程实现异步转同步?
16、Java并发编程:Semaphore:如何快速实现一个限流器
17、Java并发编程:ReadWriteLock:如何快速实现一个完备的缓存?
18、Java并发编程:StampedLock:有没有比读写锁更快的锁?
19、Java并发编程:CountDownLatch和CyclicBarrier:如何让多线程步调一致?
20、Java并发编程:并发容器:都有哪些“坑”需要我们填?

Java 并发基础 (B)

01、Java并发编程:JUC概述
02、Java并发编程:Lock接口
03、Java并发编程:线程间通信
04、Java并发编程:线程间定制化通信
05、Java并发编程:集合的线程安全
06、Java并发编程:多线程锁
07、Java并发编程:callable接口
08、Java并发编程:读写锁
09、Java并发编程:阻塞队列 BlockingQueue
10、Java并发编程:ThreadPool线程池
11、Java并发编程:Fork/Join分支合并框架
12、Java并发编程:CompletableFuture异步回调