采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师好,该如何确定项目中线程池的线程的数量,一般项目中的线程池都是建立固定的线程数量,之前看网上有三种说法,一种是基于项目是IO,还是非IO的项目,基于CPU的核数,线程池中线程的数量就是cpu的核数;另一种是基于业务,需要每秒钟需要多少完成任务数量和每一个任务完成的时间,进行计算,从而获得项目所需的线程数;第三种是国外的并发网上译文解释作者是怎么计算的,只讲了一个IO项目的计算,很多专业术语,很难理解,老师是否有简单有效的方法呢
老师,刚才看了连接给的方案,需要一步步的提升线程池的线程数量,通过压测结果来确定最佳的线程数,这个确实是一个最实用的方法,但是还是有点笼统,有没有已经形成理论一样的方案,
可能说出来会让你有些失望。实际中,一个项目可能会使用多个线程池,我负责的项目不少都是这样,项目中线程池最多的用处是:1、异步,让主流程更快结束;2、加速,让某些流程更快执行完,这时基本使用5个或10个基本已经能满足要求了,很少需要继续加到20个的。受项目qps变化,及占用内存、cpu的不断变化影响,就单独某个场景而言,即使20个更ok,但考虑实际中可能有多个场景使用线程池,某个自己的ok从总体看也不一定ok了。因此我们习惯上就是10个开始,根据具体执行效果来看该增加还是减少。这个数字我们总体实践下来,还算是比较ok的,很多时候并不需要继续调整。
你好,关于项目开启多少个线程的问题,之前有同学问过类似的问题:http://coding.imooc.com/learn/questiondetail/74885.html你可以先看一下,这里介绍了该如何去合理设置线程数目。看完还有什么问题,继续回复~祝你学习愉快~
登录后可查看更多问答,登录/注册
构建完整并发与高并发知识体系,倍增高薪面试成功率!
1.7k 1
1.1k 18
1.2k 15
3.6k 12
1.2k 12