有一个疑问,多线程处理为什么不启动固定个数的线程,在每个线程里死循环处理,这样固定的这几个线程会一直处理。为什么要用线程池呢?
3条回答 默认 最新
- 於黾 2023-07-12 08:40关注
系统开销什么的,对于一般的程序员来说根本不是问题,因为我们做的都是一台PC上就跑这么一个进程,把cpu吃光也无所谓,根本不需要考虑给别的进程留资源的问题
就从其它角度看看线程池到底有什么好处
1.动态线程
线程池的核心线程也是一直占用资源的,所以这方面和写死几个线程一样
但是线程池还有个最大线程数量的设置,当你的任务数非常多的时候,它可以动态的启动更多的线程来执行任务
这里你写死线程是做不到的
2.任务队列
如果你写死线程,那么你需要自己维护一个队列用来存数据,而且逻辑通常是固定的
也就是说你所有的线程只能执行同一类型的任务
而线程池有任务队列,你可以直接把匿名函数丢进线程池里执行,这样更灵活本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥30 设计一个图形用户界面来控制你机械臂的运动
- ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
- ¥15 RPG游戏架构设计和开发方法
- ¥15 python 计算股权结构
- ¥30 为什么会失败呢,该如何调整
- ¥15 前端返回pdf时不显示内容
- ¥50 如何在不能联网影子模式下的电脑解决usb锁
- ¥20 服务器redhat5.8网络问题
- ¥15 如何利用c++ MFC绘制复杂网络多层图
- ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变