首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >多线程和多核的区别

多线程和多核的区别
EN

Stack Overflow用户
提问于 2012-08-07 03:58:21
回答 1查看 51.9K关注 0票数 52

我有几个小问题。

首先,多线程和多核之间有区别吗?它们是两个完全不同的东西,还是多线程在需要时使用多个内核?

其次,大多数内核都有两个线程,但在分析我的应用程序时,我注意到有很多不同的线程,从线程128到线程3460不等。是什么决定了你的计算机有多少线程?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-08-07 04:04:05

在单核上进行线程通常意味着您可以创建x个线程,并且每个线程都会被赋予一定的运行时间(线程数量)。当线程被切换时,这就是所谓的上下文切换,所有这一切都需要一些时间,因此需要进行一些基准测试,以找到每个内核的理想线程数量。

如果大部分工作是受cpu限制的,那么产生数百个线程就没有什么意义了,因为这不太可能提高性能(事实上,也许更糟的是,记住上下文切换不是免费的)。但是,对I/O受限的工作执行此操作可能会有所帮助,因为当系统忙于执行此工作时,可以为另一个线程分配cpu时间。

拥有物理额外的核心意味着两件事可以在硬件级别上真正并行运行。

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

https://stackoverflow.com/questions/11835046

复制
相关文章

相似问题

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