一、线程生命周期
新建、可运行(就绪\运行)、完成、等待,超时等待,阻塞
new
waiting(wait) runnable time_waiting(sleeping) block(monitor)
terminated
二、线程池
1、线程池创建
核心线程数、最大线程数、超时时间\时间单位、任务队列、饱和策略。
2、线程池执行过程
3、开发中使用线程池
ThreadPoolExecutor:
核心线程数、最大线程数、超时时间\时间单位、任务队列、饱和策略。
4、线程池监控
继承ThreadPoolExecutor,获取线程池中的线程,线程状态,任务和任务状态,队列等信息,实时上报线程池状态;
三、企业中多线程使用
1、线程池
ThreadPoolExecutor:
核心线程数、最大线程数、超时时间\时间单位、任务队列、饱和策略。
2、JUC多线程工具类
CompletableFuture:
异步返回结果:supplyAsnyc
非阻塞获取异步结果:whenCompleteAsync
异步不返回结果:runAsync
多阶段异步执行并且返回结果:thenApplyAsync
多阶段异步执行不返回结果:thenAcceptAsync
同步阻塞获取结果:jion和get