2017.12.11 线程池的简单实践
正文
参考来自:慕课网
1.线程池的介绍
创建线程开销大,线程池的作用就是预先建立好线程,等待任务派发。
主要由两部分组成:线程+派发任务的queue。所有的线程都会从队列的头部获取任务。如果队列是空的,线程就会一直等待,直到有任务进来。
使用方法:创建一个线程池,然后往队列中放任务。
2.重要参数
3.ThreadPoolExecutor
常用使用方法:
1 ExecutorService executor = Executors.newFixedThreadPool(30);
其实这只是封装了一下,最终使用的还是ThreadPoolExecutor。
任务的派发:可以看见右边的执行,是先开始了3个任务,因为在定义中设置了大小为3。
这里的submit()方法里可以接受Runnable类型的参数,也可以接受Callable类型的参数。区别是:Callable有返回值。
如果想要知道执行任务时的一些信息比如执行成功了吗或者想要取消任务,可以使用Future。
fighting for this
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步