当前位置:  开发笔记 > 运维 > 正文

应用程序中的并发线程数是多少?

如何解决《应用程序中的并发线程数是多少?》经验,为你挑选了1个好方法。

5,100,1000?

我猜,"这取决于",但是在什么?

在作为服务器守护程序/服务运行的应用程序中常见的是什么?

什么是硬限制?

鉴于机器可以处理整体工作负载,我如何确定开销会对性能产生影响的线程数量?

OS的重要区别是什么?

还应该考虑什么?

我问,因为我想在应用程序中使用线程来组织我的应用程序的子组件,这些子组件不共享数据并且旨在并行执行它们的工作.由于应用程序也会使用线程池来并行化某些任务,我想知道在什么时候我应该开始考虑将要运行的线程数.

我知道n + 1规则是确定同时处理同一任务以获得性能的线程数的指导原则.但是,我想使用线程,例如可以在更大范围内使用进程,即组织不应相互干扰的独立任务.

在这个相关的问题中,有些人建议最小化线程数量,因为增加了复杂性.对我来说,似乎线程也可以帮助保持事物排序更有序,并实际上减少干扰.这不对吗?



1> bezmax..:

我无法回答你关于"多少是多少"的问题,但我同意你不应该为每项任务使用线程.

应用程序性能的最佳线程数为(n + 1),其中n是计算机/ claster所具有的处理器/核心数量.

您的实际线程数量与n + 1的差异越大,它获得的优化程度就越低,并且会在线程计算中浪费您的系统资源.

因此,通常使用1个线程用于UI,1个线程用于某些通用任务,以及(n + 1)个线程用于某些大型计算任务.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有