首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >线程是否在多个处理器上执行?

线程是否在多个处理器上执行?
EN

Stack Overflow用户
提问于 2014-10-03 23:06:48
回答 1查看 3.4K关注 0票数 17

似乎Task类为我们提供了使用系统的多个处理器的能力。Thread类是否也可以在多个处理器上工作,或者它是否只在一个处理器上使用时间切片?(假设系统具有多个核心)。

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

EN

回答 1

Stack Overflow用户

发布于 2014-10-03 23:15:41

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

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

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

也许你想看看这个博客-帖子:http://www.drdobbs.com/parallel/managed-threads-are-different-from-windo/228800359在细节方面的解释非常好。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26181616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档