多线程
1.多线程基础知识
摩尔定律失效-》多核和分布式时代来临

2.JAVA线程的创建过程

Thread.start()才会启动线程,run()只是一个对象的不同方法
在jvm中会将java的Thread对象转化为操作系统的真实线程,后通过管理操作系统的生命周期实现多线程程序
为线程分配栈内存->启动操作系统线程->执行run方法->终结操作系统线程->方法退出
线程与进程
- 一个进程指操作系统启动一个程序运行的单元,进程内有一个或多个的线程,这些线程共享进程空间内的资源
- 线程是操作系统来调度实际运行任务和执行方法的基本单元
3.JAVA实现多线程
thread.setDaemon(true) 设置为守护线程,当主线程执行完毕后,剩余全部为守护线程时,jvm停止运行
基础接口

线程状态简图

相关API


线程状态改变操作

线程终端和异常处理

线程状态总结简图

3.JAVA线程安全
问题

并发相关的性质



相关关键字



4.JAVA线程池原理及应用
线程池相关接口和类

- Executor

- ExecutorService

- ThreadPoolExecutor

处理流程:接受任务->大于核心线程数->加入缓存队列->队列已满->是否大于最大线程数->是走拒绝策略,不是创建线程数
线程池参数
-
缓存队列

-
拒绝策略

CallerRunsPolicy: 新来的任务由派发任务的线程执行,可缓解线程池执行压力
线程工厂



创建线程池的方法


Future和Callable接口

