gpt4 book ai didi

c# - 线程是否在多个处理器上执行?

转载 作者:IT王子 更新时间:2023-10-29 04:53:12 24 4
gpt4 key购买 nike

看来,Task 类为我们提供了使用系统的多个处理器的能力。 Thread 类是否也适用于多个处理器,还是仅在单个处理器上使用时间分片? (假设一个系统有多个核心)。

我的问题是,如果线程将/可以在多核上执行,那么任务和并行性有什么特别之处?

最佳答案

当您创建一个线程时,它形成了一种逻辑工作组。 .NET Framework 将从系统获取 CPU-Time。多个线程很可能会在不同的内核上运行(这是系统处理的事情 - 甚至 .NET 对此都没有任何影响)

但系统可能会在同一个核心上执行您的所有线程,或者甚至在执行期间在多个核心之间移动执行。请记住,您创建的是托管线程,不是真正的系统线程。

(正确地说,我应该说:系统可以在同一个系统线程中执行您的托管线程,或者使用多个系统线程用于多个托管线程。)

也许您想看看这篇博文:http://www.drdobbs.com/parallel/managed-threads-are-different-from-windo/228800359里面的解释很详细。

关于c# - 线程是否在多个处理器上执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26181616/

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