首页
开源软件
问答
博客
翻译
资讯
Gitee
众包
活动
专区
源创会
高手问答
开源访谈
周刊
公司开源导航页
登录
注册
Gitee
资讯
专区
问答
活动
软件库
Tool
博客
众包
OSCHINA 小程序 ——
关注技术领域的头条文章
聚合全网技术文章,根据你的阅读喜好进行个性推荐
登录
注册
线程池没你想的那么简单
前言 原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得不佩服 Doug Lea 。 ...
作者:
crossoverJie
线程池没你想的那么简单
分享
复制链接
README badge(
)
社交分享
微信
QQ
微博
小lee说it
2019/07/17 12:34
该评论暂时无法显示,详情咨询 QQ 群:
点此入群
b
buleskyonl
2019/05/30 10:37
引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多
引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。
知道了,谢谢哈
回复
举报
crossoverJie
2019/05/29 20:00
引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多
引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。
引用来自“buleskyonl”的评论
不会啊,你加锁的代码里面全是查,有没有改,而且需要防止的话,在改的地方也要加lock锁
当这里返回空的时候会在 run 方法的 finally 中删除线程,你可以去掉锁试试就知道了。
回复
举报
b
buleskyonl
2019/05/29 17:23
引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多
引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。
不会啊,你加锁的代码里面全是查,有没有改,而且需要防止的话,在改的地方也要加lock锁
回复
举报
crossoverJie
2019/05/28 21:26
引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。
回复
举报
b
buleskyonl
2019/05/28 21:16
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多
回复
举报
b
buleskyonl
2019/05/28 21:15
确定在getTask时候需要加锁?博主说的不多吧,即使多次执行加不加锁没啥区别
回复
举报
OSC_uCMeOv
2019/05/27 08:42
该评论暂时无法显示,详情咨询 QQ 群:
点此入群
crossoverJie
2019/05/26 12:15
引用来自“梦里_尋祂”的评论
猿天地公众号是大佬你的?
不是 他转载的 我的在文末有二维码。
回复
举报
梦里_尋祂
2019/05/26 12:14
猿天地公众号是大佬你的?
回复
举报
crossoverJie
2019/05/23 19:19
引用来自“沧海一刀”的评论
你的这篇文章我边看边写 学习了3天 总算搞懂了 。。。 学习了 ,已收藏
哈哈 有帮助就行 看来写的还不够通俗易懂。
回复
举报
沧海一刀
2019/05/23 19:18
你的这篇文章我边看边写 学习了3天 总算搞懂了 。。。 学习了 ,已收藏
回复
举报
回复 @
{{ emoji.type }}
{{emojiItem.symbol}}
评论用户
b
推荐博客
PostgreSQL 16 正式登场,拓数派代码贡献揭示中国顶尖技术实力
OpenPie
·
09/28 16:10
0 评论
What's new in Pika v3.5.1
dubbo-go开源社区
·
09/28 14:10
0 评论
Java 21 新特性:虚拟线程(Virtual Threads)
程序猿DD
·
09/28 10:38
0 评论
百度交易中台之内容分润结算系统架构浅析
百度Geek说
·
09/28 10:36
0 评论
GaussDB数据库SQL系列-自定义函数
Gauss松鼠会
·
09/28 10:35
0 评论
Databend 源码阅读:配置管理
Databend
·
09/28 09:46
0 评论
【AIGC】只要10秒,AI生成IP海报,解放双手!!! | 京东云技术团队
京东云开发者
·
09/28 09:46
0 评论
【稳定性】秘密武器--功能开关技术 | 京东物流技术团队
京东云开发者
·
09/28 09:36
0 评论
Dubbo源码浅析(一)—RPC框架与Dubbo | 京东云技术团队
京东云开发者
·
09/28 09:23
0 评论
《HelloGitHub》第 90 期
削微寒
·
09/28 08:41
0 评论
删除一条评论
评论删除后,数据将无法恢复
取消
确定
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
社区规范
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部
引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。引用来自“buleskyonl”的评论
不会啊,你加锁的代码里面全是查,有没有改,而且需要防止的话,在改的地方也要加lock锁引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多引用来自“crossoverJie”的评论
我这里也是 不加锁会导致 workers.size() > miniSize 出现并发问题。引用来自“buleskyonl”的评论
线程池里面的加锁是为了关闭线程是防止出错用的,这里模仿的不多引用来自“梦里_尋祂”的评论
猿天地公众号是大佬你的?引用来自“沧海一刀”的评论
你的这篇文章我边看边写 学习了3天 总算搞懂了 。。。 学习了 ,已收藏