多线程&JUC
一、线程池
1、核心原理
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/d8c8a5a209a5c42248f33507a3ed2b56.png)
2、方法
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/3b0239d23c3b4c53cd647a5c3727de4d.png)
3、实现
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/d28c41c44b7d37dc2c462fe3dc156fac.png)
二、自定义线程池
1、参数
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/9b4984e73fd276fdacd01bf68adc695f.png)
2、核心线程、临时线程、排队队列、任务拒绝
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/0c237017ad92bc28a56fd120c1d7ddd8.png)
3、任务拒绝策略
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/03aef1eda6e4f72bca059fa73b5571fb.png)
三、线程池大小的确定
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/47f690f0fad00aa91eb49ebc4cb4ae0e.png)
1、通过代码确定最大并行数
public class Test1 {
public static void main(String[] args) {
int count = Runtime.getRuntime().availableProcessors();
System.out.println(count);
}
}
System.out.println(count);
}
}