- Thread、Runnable、Callable:都是线程
- Thread特点:提供了线程等待、线程睡眠、线程礼让等操作
- Runnable和Callable特点:都是接口,并提供对应的实现方法
- Runnable、Callable区别:Runnable无返回值,Callable有返回值
- Future:提供了对Runnable和Callable任务的执行结果进行取消、查询是否完成、获取结果、设置结果等操作
- FutureTask:Runnable和Future的结合体,即拥有Future的特性
- 参考地址:https://blog.youkuaiyun.com/qq_30379689/article/details/53819815
四大线程池:https://blog.youkuaiyun.com/qq_30379689/article/details/53522085
FixedThreadPool的分析
其特点是:
线程数量固定
空闲不会被回收
更快的响应速度
无超时机制,无大小限制
CachedThreadPool是一种线程数量不定的线程池,它只有非核心线程,并且其最大线程数为Integer.MAX_VALUE ;
其特点是:
- 只有最大线程数为int的最大值
- 超时时间为60秒
- 当整个线程池都出去闲置状态超过60秒的时候,会被回收
- 几乎不占用任何系统资源
ScheduledThreadPool是一种核心线程数量时固定的,而非核心线程数是没有限制的,并且当非核心线程闲置时会被立即回收
- 核心数量固定
- 非核心数量无限制
- 非核心线程闲置时立即被回收
SingleThreadExecutor是一种只有一个核心线程的线程池,它确保所有的任务都在同一个线程中按顺序执行