前言
本版块主要是一起学习和分享并发编程的相关知识
大纲
1.线程的状态以及各状态之间的转换
2.线程的初始化,中断以及其源码讲解
3.多种创建线程的方式案例演示(带返回值的方式)
4.多种创建线程的方式案例演示(使用线程池)
5.Spring对并发的支持:Spring同步任务
6.jdk8提供的lambda进行并行计算
7.了解多线程所带来的安全风险
8.从线程的优先级看饥饿问题
9.从java字节码角度看线程安全性问题
10.synchronized保证线程安全的原理(理论)
11.synchronized保证线程安全的原理(jvm)
12.单例问题与线程安全性深入解析
13.理解自旋锁,死锁与重入锁
14.深入理解volatile原理与使用
15.jdk5提供原子类的操作以及实现原理
16.Lock接口认识与使用
17.手动实现一个可重入锁
18.AbstractQueuedSynchronizer(AQS)详解
19.使用AQS重写自己的锁
20.重入锁原理与演示
21.读写锁认识与原理
22.ReentrantReadWriteLock源码
23.ReentrantReadWriteLock锁降级
24.线程安全性问题简单总结
25.线程之间的通信之wait notify
26.通过生产者消费者模型理解等待唤醒机制
27.condition的使用及原理解析
28.使用condition重写wait notify 案例并实现一个有界队列
29.深入condition源码
30.简易数据连接池
31.线程之间通信之join应用与实现原理剖析
32.ThreadLocal使用及实现原理
33.并发工具类CountDownLatch
34.并发工具类CyclicBarrier
35.并发工具类Semaphore
36.并发工具类Exchanger
37.并发工具类CountDownLatch,CyclicBarrier,Semaphore源码
38.提前完成任务FutureTask使用
39.Future设计模式实现(Future)
40.ForkJoin框架详解
41.同步容器与并发容器
42.并发容器CopyOnWriteArrayList原理使用
43.并发容器ConcurrentLinkedQueue
44.Java种的阻塞队列原理与使用
45.简单实现消息队列
46.并发容器ConcurrentHashMap原理与使用
47.线程池的原理与使用
48.Executor框架详解
49.JDK8原子操作类LongAddr原理与使用
50.JDK8StampedLock详解
51.重排序问题
52.happends-before简单概述
53.锁的内存语义
54.volatile内存语义
55.final域的内存语义
56.问题定位
写在后面的话
喜欢的小伙伴持续关注我的博客,给你更多精彩!