首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用静态工作池还是动态工作池(线程)?

我应该使用静态工作池还是动态工作池(线程)?
EN

Stack Overflow用户
提问于 2011-05-30 09:17:31
回答 1查看 593关注 0票数 2

我正在运行一个运行得非常好的pthread程序,但是我没有看到我期望的加速。我怀疑我花了太多的时间来创建和销毁我的线程。

我在任何时候运行的线程都比我的cpus多。

在20分钟的时间内,我创建了大约5000个线程。

我的问题是,是否值得实现一个适当的静态工作池,以便我只分配静态数量的工作进程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 10:59:03

首先,你应该衡量你的应用程序把所有的时间都花在了哪里。这意味着大约每秒创建4到5个线程,这是很多,但可能不是你花费所有时间的地方。

但是,如果您总是将自己限制为N个线程,其中N是CPU的数量,那么您可能应该预先创建N个线程,并使用某种算法来调度在每个线程上运行的工作,以便对您正在进行的计算有意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6171513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档