gpt4 book ai didi

linux - 为什么在支持 X 线程的硬件中使用 X 线程?为什么不是 X-1 线程?

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:45 35 4
gpt4 key购买 nike

读这个:
https://mariadb.com/kb/en/library/thread-pool-in-mariadb/

关于线程数,它说:

An ideal solution that would help to reduce context switching is to maintain a lower number of threads than the number of clients. But this number should not be too low either, since we also want to utilize CPUs to their fullest, so ideally, there should be a single active thread for each CPU on the machine.



在查看市场上不同的 CPU 时,假设我购买了一台具有 2 核 4 线程 CPU 的计算机。假设您在 Linux 上,并且有任务调度程序。我不想实际使用 3 个线程吗?因为1个线程最好留给操作系统来做东西/其他实用程序?

最佳答案

稍后进行大量的多线程编程。理想情况下,它应该执行 X-1 个线程,但问题是,实际上无论您告诉您的进程运行多少线程,如果不是数百个进程同时运行,则可能有 10 秒。

硬件和操作系统确实最终决定了进程在哪个线程上运行,因此将进程配置为运行 x 个线程只能确保如果每个线程都忙,那么它将使用 4 个内核,否则只会委托(delegate)最小值允许计算机使用最少的精力和时间但仍能完成所有工作的资源量。

另一方面,如果你真的想为一个线程专用一个核心——那么在 Linux 中你使用 CPU 亲和性,但如果有其他方式,通常这样做是个坏主意——几乎总是有其他方式。

关于linux - 为什么在支持 X 线程的硬件中使用 X 线程?为什么不是 X-1 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50794646/

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