文章目录
- 前言
- 一、线程
- 1.线程概念
- 2.线程与进程的关系
- 3.定义
- 4.wait()和sleep()
- 5.线程的状态及其他API
- 二、线程锁
- 1. 普通锁机制
- 2. Lock
- 三、线程同步工具类
- 1. CountDowmLatch闭锁:
- 2. CyclicBarrier栅栏:
- 3. Exchanger交换机:
- 4. 信号量
- 四、线程池
- 1. 为什么使用线程池
- 2. 线程池的核心队列
- 3. 手动创建线程池
- 4. Executors工具创建线程
- 五、彩蛋图
前言
单线程——多线程的开启——线程锁——线程同步工具——手写连接池——连接池工具类。
一、线程
1.线程概念

2.线程与进程的关系

3.定义

区别:如上!!!
4.wait()和sleep()

5.线程的状态及其他API

二、线程锁
线程并发同步时,引入了锁机制。
1. 普通锁机制
synchronized 修饰代码块与volatile 修饰成员变量

2. Lock
!!共同点:都是从外面创建锁类、再把锁传到线程里对变量对象赋值。
(1)重入锁

(2)读写分离锁

区别:

三、线程同步工具类
!!共同点:都是从外面创建工具类、再把工具类的参数传到线程里面执行。
1. CountDowmLatch闭锁:
等待所有线程执行完

2. CyclicBarrier栅栏:
等待所有线程达到后开启

3. Exchanger交换机:
交流数据

4. 信号量
(1)概念

(2)应用场景一

(3)应用场景二

四、线程池
1. 为什么使用线程池

2. 线程池的核心队列
阻塞式队列:只用于线程对象,主要用于引出线程池

3. 手动创建线程池

4. Executors工具创建线程
核心线程:0(临时线程)、1(队列)、N(队列)

定时线程:

五、彩蛋图




















