参考来自:慕课网
1.线程池的介绍
创建线程开销大,线程池的作用就是预先建立好线程,等待任务派发。
主要由两部分组成:线程+派发任务的queue。所有的线程都会从队列的头部获取任务。如果队列是空的,线程就会一直等待,直到有任务进来。
使用方法:创建一个线程池,然后往队列中放任务。

2.重要参数

3.ThreadPoolExecutor

常用使用方法:
1 ExecutorService executor = Executors.newFixedThreadPool(30);
其实这只是封装了一下,最终使用的还是ThreadPoolExecutor。

任务的派发:可以看见右边的执行,是先开始了3个任务,因为在定义中设置了大小为3。

这里的submit()方法里可以接受Runnable类型的参数,也可以接受Callable类型的参数。区别是:Callable有返回值。

如果想要知道执行任务时的一些信息比如执行成功了吗或者想要取消任务,可以使用Future。
![]()

本文介绍了线程池的基本概念及其工作原理,包括线程池的组成部分、如何创建及使用线程池,并解释了线程池中任务的派发过程。此外还探讨了线程池中任务提交的不同方式。
1144

被折叠的 条评论
为什么被折叠?



