什么是线程?它们在处理器中起什么作用?

什么是线程?它们在处理器中起什么作用?

我正在查看英特尔的统计数据奔腾 e5700中央处理器。

它有两个核心和两个线程。线程对处理器有什么作用?核心数和线程数之间有什么关系?线程对整个系统有什么作用?

答案1

核心数是 CPU 芯片本身的物理核心数,而线程数是可在 CPU 本身上同时执行的单个应用程序线程数。在没有任何额外或特殊硬件的情况下,这等于核心数。但是,某些处理器的线程数会多于核心数。

一些英特尔 CPU有一个功能叫超线程,这允许操作系统看到每个物理核心的逻辑核心数量增加一倍。这允许操作系统同时调度和运行两倍数量的线程,因此在我上面链接的 CPU 的情况下,有四个物理核心,但有八个逻辑核心(因此您可以同时运行八个线程)。

操作系统中运行的每个应用程序要么是单线程的,要么是多线程的(将每个线程视为一个“子应用程序”)。单线程应用程序只需要一个线程在 CPU 上运行,而多线程应用程序则有许多子线程同时运行。额外的核心或超线程允许更多应用程序线程同时运行。

这允许多线程(不是这使得单线程应用程序运行速度更快,因为 CPU 上可以同时运行多个线程。


最后需要注意的是,超线程可以提高一些专门针对它优化的多线程应用程序(因为物理核心的数量仍然只有逻辑核心的一半)。在某些不同情况下,应用程序可能通过超线程运行得更快已禁用(尽管许多应用程序受益匪浅)。无论超线程如何,增加物理核心数量都会总是使多线程应用程序受益。

答案2

“核心”代表处理器中可以独立处理的实际物理子集,而“线程”则代表处理器可以同时处理的实际进程数。英特尔开发了一项他们称之为“超线程”的技术,该技术允许一个物理核心(通常一次只能处理一个线程)现在能够同时处理两个线程。

线程是处理器必须处理的任务,简单来说,您可以假设您打开的每个应用程序(例如画图、记事本、媒体播放器)都有自己的线程……现在这并不意味着您只能同时打开 2 个应用程序,只是因为处理器和操作系统在“切换线程”时工作得非常快,可以满足您打开的每个应用程序的需求。使用更多内核,您将体验到更好的性能,因为现在您可以将所有工作分配给更多内核的处理器。

例如,我的工作电脑有一台 i7。i7 有 4 个物理核心,但每个核心都可以进行“超线程”,这使得该处理器可以同时处理 8 个线程。因此,如果我打开任务管理器,我将看到 8 个处理器性能等级框。

一般经验法则是物理核心越多越好,线程越多越好。因此,如果您比较的是具有 4 个核心和 4 个线程的处理器,那么它比 2 个核心 4 个线程更好。但是,处理器可以处理的线程越多,它在多任务处理时的性能就越好,并且对于一些非常密集的应用程序(视频编辑、CAD、CAM、压缩、加密等),它本身会同时使用多个核心。

答案3

单击 IE 或 chrome 中的文章中的链接,每次单击都会创建一个线程。单击的链接越多,线程就越多。如果您有 4 核 CPU,则最多有 8 个线程,您可以在开始遇到问题之前打开 8 个链接。不考虑您的互联网连接。因此每个核心都覆盖您打开的两个链接(线程)。这就是我的想法。如果这对任何人来说都有意义的话。

相关内容