线程问题
1、当线程池初始化完毕后,当有任务的时候,会创建1个线程,核心线程设置5,那么下次再来线程,继续创建, ? 当5个线程都被创建了, 然后第一个线程回收到线程池中,下次再接收任务,还会重新创建线程吗?回收的线程会被销毁在线程池中吗?还是说,当来任务的时候,会一次性创建核心线程设置的数量?
2、线程池和连接池好像有点不太一样, 连接池是初始化的时候,一次性创建连接, 线程池是使用一个创建一个。
3、
max设置10,那么最多创建9个线程?预留的一个是为啥呢?
4、
通过设置corePoolSize和maxPoolSize相同,就可以创建固定大小的线程池。
这句话没理解, 这不是设置线程池中的配置吗? 和固定大小的线程池啥关系?不就是设置了量了吗
正在回答 回答被采纳积分+1
同学你好,
1、1)是的,是会创建─个新线程来运行新任务的。
2)线程数等于核心线程数时,如果继续添加新的任务,会将任务添加到阻塞队列 workQueue 中,等待调度
2、是的
3、并没有预留,这里可以参考如下举例:
线程池:核心池大小为5,最大池大小为10,队列为100。
因为线程中的请求最多会创建5个,然后任务将被添加到队列中,直到达到100;当队列已满时,将创建最新的线程maximumPoolSize,最多到10个线程,如果再来任务,就拒绝。
4、1)是的
2)corePoolSize:线程池的核心线程数量
maximumPoolSize:线程池的最大线程数
当上述两个内容创建的线程池大小相同时就会变成一个固定大小的线程池
祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星