gpt4 book ai didi

multithreading - 一个应用程序中有多少个并发线程是很多?

转载 作者:行者123 更新时间:2023-12-04 18:00:06 25 4
gpt4 key购买 nike

5、100、1000?

我想,“这取决于”,但取决于什么?

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

什么是硬限制?

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

操作系统之间的重要区别是什么?

还应该考虑什么?

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

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

this related question ,由于增加了复杂性,有些人建议尽量减少线程数。对我来说,线程似乎还可以帮助使事情更有序地排序并实际上减少干扰。那不正确吗?

最佳答案

我无法回答你关于“多少是多少”的问题,但我同意你不应该为每一个可能的任务使用线程。

最佳 用于应用程序性能的线程数量是 (n+1),其中 n 是您的计算机/claster 拥有的处理器/内核数量。

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

所以通常你为 UI 使用 1 个线程,为一些通用任务使用 1 个线程,为一些大计算任务使用 (n+1) 个线程。

关于multithreading - 一个应用程序中有多少个并发线程是很多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com