首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
小烦恼没什么大不了1
2017-09-17 16:01
Java
关注
已关注
取消关注
一个线程池的疑问
最近在看线程池,想到个问题。比如一个FixedThreadPool,初始化了5个线程,现在有6个任务,那么他会先分配5个线程执行5个任务,哪个线程先执行完任务就会去执行第6个任务。这里有个问题,一个线程可以执行两个任务吗? 还是说,后面又新建了一个线程,只不过线程名字和前面的一样?是和ThreadFactory有关吗?
#Java工程师#
提示
全部评论
推荐
最新
楼层
ss.edu
安卓
看源码就知道了,线程池里的线程是一死循环,你放进去的runnable回被丢到那个死循环里执行,执行完线程不会挂,它空闲下来就可以去队列里拿新的任务出来执行了
点赞
送花
回复
分享
发布于 2017-09-17 16:09
等待我的只有感谢信
安卓
FixedThreadPool coresize =max Size=n,keepalive =0,阻塞队列***,所以你说的情况就是刚开始5条线程执行5个任务,剩下一个在队列里等,5条里面先执行完的会在执行完后去队列里取新任务。
点赞
送花
回复
分享
发布于 2017-09-17 16:12
秋招专场
校招火热招聘中
官网直投
intelli
Java
不是先执行完,5个线程同时执行6个任务,时间片
点赞
送花
回复
分享
发布于 2017-09-17 16:03
踏浪子
Java
线程池作用就是线程复用,5个线程来6个任务,有一个任务就会在队列中等待,先执行完任务的线程会接着执行最后一个任务的。
点赞
送花
回复
分享
发布于 2017-09-17 16:08
求毕业。
Java
借楼问一个,阻塞队列此时还有未被执行的线程,此时一个任务到达,刚好出现空闲现场,会先执行阻塞队列的还是先执行到达的这个任务
点赞
送花
回复
分享
发布于 2017-09-17 16:09
全能
美团_rd
执行完后再去拿任务,谁先执行完就去拿下一个任务,如果设置了allowCoreThreadTimeOut,那么长时间不使用,工作线程会撤销,那么下一次处理的工作线程和原来处理可能不是一个线程
点赞
送花
回复
分享
发布于 2017-09-17 16:13
codejunior
Java
大致和你说的差不多,线程池在其中线程数小于corePoolSize的时候会直接把thread和runnable对象一起包装成一个Worker,然后调用runWorker方法启动线程,一般称这个过程为预热。当他的任务执行完成后会去阻塞队列里取待完成任务,就是调用getTask方法: while (task != null || (task = getTask()) != null) { } 至于这个线程啥时候被回收就看你的keepAliveTime参数配置了。
点赞
送花
回复
分享
发布于 2017-09-17 16:14
月亮先生
Java
可以看一本书,java并发编程的艺术,最后一章讲的很详细
点赞
送花
回复
分享
发布于 2017-09-17 16:21
小烦恼没什么大不了1
楼主
Java
可能问题没有表达清楚,楼上的回答好多都回答的是5个线程执行6个任务的问题。其实我的问题是线程池中一个线程是如何去执行第二个任务的。 我的理解是: 是不是这样:线程池中初始化的每个线程中的runnable内部其实是一个无限循环的,循环中通过getTask()获取任务来执行。 对吗? 还有问下这是在哪个方法里面的?
点赞
送花
回复
分享
发布于 2017-09-17 16:26
codeshepard
C++
池子里有多个worker,每一个worker是一个实际在跑的线程,它们都实现了runnable,并且是通过start()启动的。只不过它本身是没有具体任务,而是执行你加进去的任务。worker每次从队列中抓一个runnable,然后直接执行它的run()函数。理解这个,只要知道runnable通过start()和通过run()执行是不同的。
点赞
送花
回复
分享
发布于 2017-09-17 17:27
秋丶舞霜
Java
6个任务进入队列 五个线程去轮询队列执行程序
点赞
送花
回复
分享
发布于 2017-09-17 17:31
火锅一家
Java
Phaser 5个线程 其中一个线程加 arriveAndWaitAdvance()方法 然后在这个方法后面 加第六个任务
点赞
送花
回复
分享
发布于 2017-09-17 17:37
白杨树下繁花落尽
Java
第六个线程会被加入任务队列中,其他5个线程中的一个任务执行完后,会在执行第六个任务。
点赞
送花
回复
分享
发布于 2017-09-17 20:04
秋招专场
校招火热招聘中
官网直投
相关推荐
程序员iteng
05-31 21:18
蚌埠坦克学院 计算机类
实习薪资10-100,前2个月没有工资
绷不住了,家人们
我的实习求职记录
点赞
评论
收藏
转发
杰尼杰尼0618
昨天 11:19
中国海洋大学 计算机类
5.31拼多多服务端开发实习生一面(75min)
自我介绍算法:给出二叉搜索树的root结点,查找出第k大的结点八股(因为八股问的时间太长了,只记住了一部分):java基础与集合相关1.介绍equals和hashcode函数2.介绍JDK1.8的hashmap,get和put方法3.介绍红黑树,hashmap中红黑树的key是怎么查找的4.介绍currenthashmap计算机网络相关5.讲一下TCP和UDP6.TCP建立连接的流程7.为什么需要三次握手8.TCP断开连接的过程9.TCP如何保证可靠传输10.具体讲一下拥塞控制和滑动窗口11.介绍HTTP协议12.HTTP与HTTPS的区别13.HTTP通信的具体流程14.非对称加密和对称加密...
投递拼多多等公司10个岗位 >
点赞
评论
收藏
转发
秦始皇嬴政
05-02 08:18
百度_软件开发(准入职员工)
完结撒花
终于拿下了,以后要是被互联网优化,就回老家当老师了。我的时间线2021.下半年 考综合素质2022.上半年 考教育教学知识与能力2022.下半年 考学科知识与教学能力2023.上半年 面试2023.下半年 申请认证教师资 格证2023. 下半年拿证有正在考的小伙伴儿留言讨论哈,我知无不言。 #教师资格证# #24届找工作求助阵地# #你想对下半年说点什么# #互联网公司评价#
你想对下半年说点什么
互联网公司评价
点赞
评论
收藏
转发
s8x
05-30 14:35
门头沟学院 化工与制药类
美团一面
ps:发面经求好运
美团一面919人在聊
查看3道真题和解析
点赞
评论
收藏
转发
点赞
8
评论
分享
回复帖子
提到的真题
返回内容
招聘动态
查看更多
博士生招聘专场开启啦
全站热榜
1
...
找工作第一课之如何写一份好的简历
9738
2
...
结束了,研三一年应聘感受
5794
3
...
5.30 拼多多三面凉经
4674
4
...
保融科技java实习面试凉经
3806
5
...
春招颗粒无收
3695
6
...
loser破防
3491
7
...
今日首绷 华为校招 13 级 = OD?
3338
8
...
快手暑期c++一面
3084
9
...
我跟导师谈实习,导师跟我谈休学
2950
10
...
小厂 Java实习生 面经
2815
正在热议
#
和牛牛一起刷题打卡
#
11975次浏览
959人参与
#
实习生应该准时下班吗
#
91155次浏览
695人参与
#
牛客帮帮团来啦!有问必答
#
1079597次浏览
16209人参与
#
通信硬件薪资爆料
#
253123次浏览
2378人参与
#
机械制造薪资爆料
#
350450次浏览
4116人参与
#
本周投递记录
#
219912次浏览
5367人参与
#
你收到了团子的OC了吗
#
528489次浏览
6267人参与
#
晒一晒我的offer
#
3755243次浏览
57913人参与
#
你已经投递多少份简历了
#
336754次浏览
4890人参与
#
硬件人的简历怎么写
#
81662次浏览
847人参与
#
你怎么评价今年的春招?
#
11400次浏览
181人参与
#
我发现了面试通关密码
#
380460次浏览
7014人参与
#
担心入职之后被发现很菜怎么办
#
38646次浏览
324人参与
#
我想象的工作vs实际工作
#
105257次浏览
1695人参与
#
春招你拿到offer了吗
#
400945次浏览
5776人参与
#
产品人求职现状
#
56404次浏览
820人参与
#
2022毕业的你对23届的寄语
#
16688次浏览
355人参与
#
腾讯工作体验
#
152391次浏览
1487人参与
#
考研失败就一定是坏事吗?
#
22763次浏览
238人参与
#
产品面经
#
47940次浏览
876人参与
牛客网
牛客企业服务