进程占用多少个核心?

时间:2016-07-23 21:55:16

标签: linux multithreading pthreads

假设我的计算机上有4个核心,并且我有一个生成4个线程的进程,而这是当前正在安排的进程,所有4个核心都保留给进程' 4个帖子?

2 个答案:

答案 0 :(得分:1)

这是一个非常复杂的问题。但是,我可以帮忙。作为一般规则,1个进程仅使用1个核心。实际上,1个线程只能由1个核心执行。如果你有一个双核处理器,它实际上是2个CPU在同一台电脑中粘在一起。这些被称为物理处理器。这些物理处理器执行1个线程。虽然,有些CPU有2个物理内核,但能够同时运行4个线程。这些额外的2个线程在逻辑核心上运行。它们实际上并不存在,但在逻辑上存在于cpu中。

如果通过进程你的意思是线程然后是1进程1核心。并且您可以在具有4个计算核心的cpu上运行4个线程(该名称包含物理和逻辑核心,因为单个核心CPU可能只有1个计算核心)。

如果进程是指任务管理器中进程选项卡中的程序或进程,那么它取决于程序的编写方式。

根据您的问题判断,如果一个进程产生4个线程,它取决于它在池中的位置。有数千个线程等待执行。来自每个程序或可执行文件的线程不必同时执行。

答案 1 :(得分:1)

您的流程的4个主题是独立安排的 - 流程本身并未安排。

如果所有4个线程同时可运行,并且系统中没有其他优先级较高的可运行线程,则可以在4个核心上同时调度所有4个线程。