首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
还没有回复哦~
相关推荐
11-27 00:23
福建农林大学 销售工程师
面试的水分真的很重
昨晚我在网上查面经,发现大家都很诚实,很多人都是靠关系进的。我心想,难道这些少爷小姐就不需要牛马来干活吗?面试时我等了那么久,真有时候觉得这份工作不找也罢。
想顺利毕业的秋招人向光而行:
七分运气三分实力了
牛客创作赏金赛
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
秋招基本结束了…
说等下个版本吧的发呆爱好者很贪睡:
佬最后去了哪家呀
点赞
评论
收藏
分享
10-09 14:44
重庆理工大学 机械设计/制造
简历求拷打,绩点低挂科多
JokerMann:
流水账
点赞
评论
收藏
分享
11-09 11:37
已编辑
北京航空航天大学 算法工程师
兄弟们,来对暗号啦
#开奖# 年包或月base大家自适应,我是月base
上岸的牛油在等offer:
结束比赛
点赞
评论
收藏
分享
11-23 10:37
重庆大学 Java
安全转行个人秋招总结版
秋招结束,会想起年初因为文章被拒遂投入到就业中,就一直在思考安全和开发选择哪个。我先说一下自身的痛点,可能有部分同学跟我一样,本身本科和研究生就一直在安全领域,但是可能更倾向于学术界的安全,就很尴尬的是这个东西和工业界差距蛮大的,然后CTF,挖洞基本没做过,有过一点逆向经历,这其实是蛮尴尬的局面。现在我再回过头来看这样一段经历的话,我觉得如果你跟我一样应该果断抛弃安全,然后顺着自己的优势去广撒网争取转行的机会。我的秋招历程差不多是这样:找实习(安全、开发都找),同时猛学java看八股某大厂实习(运气好,做的内容和研究方向有关)在实习期间收到了在川的某外企的offer,当时其实以为跟底层有关,本...
牛客创作赏金赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
8
分享
评论
提到的真题
返回内容
招聘动态
查看更多
字节跳动
2025校园招聘
阿里云管培生
2025届校园招聘
快手Star
2025届招聘
快手
销售类投递专区
富士通(西安)
2025校园招聘
全站热榜
1
...
到了新公司,不要用力过猛
2.0W
2
...
校招两方/三方违约模板
1.1W
3
...
【发帖有奖💰】爆料秋招开奖进展❗
1.1W
4
...
万字长文讲透金融科技方向的就业机会
1.0W
5
...
听学长的没错
7985
6
...
秋招圆满结束!!
6874
7
...
华为开奖,详细时间线
6784
8
...
华为开奖?
6669
9
...
从露宿街头到百万级种子轮融资②——我的实习期都经历了什么
6479
10
...
同事在会议室扇了自己好几个大嘴巴子
5812
正在热议
#
拼多多求职进展汇总
#
230266次浏览
2025人参与
#
哪些公司校招卡第一学历
#
32322次浏览
100人参与
#
阿里云管培生offer
#
57130次浏览
1735人参与
#
25届秋招总结
#
390772次浏览
3901人参与
#
ai智能作图
#
18563次浏览
238人参与
#
地方国企笔面经互助
#
6376次浏览
16人参与
#
北方华创开奖
#
65538次浏览
545人参与
#
在职场上,你最讨厌什么样的同事
#
5487次浏览
79人参与
#
硬件兄弟们 甩出你的华为奖状
#
77556次浏览
624人参与
#
实习,投递多份简历没人回复怎么办
#
2433561次浏览
34689人参与
#
实习与准备秋招该如何平衡
#
721825次浏览
8543人参与
#
我的实习求职记录
#
6115652次浏览
83917人参与
#
工作中,你有没有遇到非常爱骂人的领导?
#
4603次浏览
47人参与
#
如果再来一次,你还会选择这个工作吗?
#
107827次浏览
1083人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
9627次浏览
200人参与
#
腾讯求职进展汇总
#
207007次浏览
1693人参与
#
夸夸我的求职搭子
#
131845次浏览
1360人参与
#
实习想申请秋招offer,能不能argue薪资
#
35618次浏览
308人参与
#
牛客租房专区
#
4374次浏览
120人参与
#
中兴求职进展汇总
#
467656次浏览
2439人参与
#
华为工作体验
#
109895次浏览
855人参与
#
如果有时光机,你最想去到哪个年纪?
#
27428次浏览
570人参与
牛客网
牛客企业服务