java线程池,设置为初始5,最大10,当线程创建到5个,并且队列满了以后,再添加新任务时,会进行什么操作?
3条回答
- Kuring_K 2017-06-06 07:17关注
java的线程池,建议直接翻源码:
由Executor获取的ThreadPoolExecutor中corePoolsize(初始化大小)5 ,maxPoolSize=10,重点是还需要一个workQueue(Pool能接受任务的大小)。在5个threads都在使用时,会继续创建线程,当threads num == max==10时,任务会在workQueue缓冲队列中等待,当达到queue最大数时会阻塞停止接收任务。
顺便提一下这个workQueue是一个BlockingQueue,所以你想如果一个BlockingQueue满了会报什么异常呢?本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 删除和修改功能无法调用
- ¥15 kafka topic 所有分副本数修改
- ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
- ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
- ¥40 串口调试助手打开串口后,keil5的代码就停止了
- ¥15 电脑最近经常蓝屏,求大家看看哪的问题
- ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
- ¥50 C++五子棋AI程序编写
- ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。
- ¥15 SQL Server analysis services 服务安装失败