gpt4 book ai didi

.net - 默认情况下,线程是否在多个内核上运行?

转载 作者:行者123 更新时间:2023-12-04 00:20:10 24 4
gpt4 key购买 nike

在多核处理器中,Windows应用程序运行许多线程。默认情况下,线程是否在多个内核上运行?
我的意思是每个线程都可以在单个内核上运行。

编辑:

如果我的应用程序运行多个线程,则所有这些线程将在一个进程上运行。

没有并行编程

流程可以在许多核心上运行吗?

我的应用程序是否受益于多核处理?

最佳答案

(您的问题还不清楚。我希望我已经回答了您的问题,但是请您澄清是否有帮助。)

这取决于调度线程的操作系统。如果可能的话,就高速缓存一致性等而言,将线程保留在同一内核上具有优势-但强制将其保留在同一内核上通常过于严格。

简而言之:是的,线程可以在不同的内核上运行。当然,这不是同一时间-只是执行的一个线程-但它可以在T0时刻在核心C0上执行,然后在T1时刻在核心C1上执行。

编辑:您谈论的是一个运行多个线程的应用程序,但是“没有并行编程” —在术语上是矛盾的。如果使用多个线程,则使用并行编程,默认情况下,这些线程可以在多个内核上运行。如果只使用一个线程,那么拥有多个内核将不会有任何好处-当然,其他进程可以使用其他内核。

关于.net - 默认情况下,线程是否在多个内核上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942632/

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