每个进程中的线程是否限制为 1 个 CPU?

每个进程中的线程是否限制为 1 个 CPU?

在多 CPU 机器上,我理解 1 个进程在 1 个 CPU 上运行。那么这是否意味着每个进程中的线程仅限于 1 个 CPU?

答案1

是的,线程的行为与进程非常相似(除了它们共享内存而进程不共享),并且每个线程在任何给定时间都只能在 1 个逻辑 CPU(≈ 核心)上运行。但是,同一进程的不同线程在不同的逻辑 CPU 上运行,有时这就是使用线程的全部意义 - 例如在 8 核系统上,您可能会看到某些进程(编码器、服务器)创建 8 个“工作”线程,每个逻辑 CPU 一个。

相关内容