https://www.bilibili.com/video/av65170691?p=3
(本文为此视频听课笔记)
一.为什么要使用多线程
二.Thread
2.1 通过继承Thread类
2.2 实现Runnable接口(java单继承,此时类已经继承了另一个类,不能直接extends Thread
2.3 同步锁
当遇上售票系统时,会出现多个线程控制同一个变量的情况,所以可以多个线程控制同一个接口,但此时需要加上同步锁
2.4 通过Thread新建进程的缺点
三.线程池
3.1 线程池的好处
3.2 带缓存功能的线程池-newCachedThreadPool
>>>暂停睡眠,回收空余线程
3.3定长线程池-newFixedThreadPool
>>加sleep,每三个进程休息一次
3.4 单线程线程池 -newSingleThreadExecutor
3.5定时或定周期线程池-newScheduleThreadPool
>>定时
>>定时+定周期
//停止