【发布时间】:2014-05-01 08:17:51
【问题描述】:
clone() 函数是否利用了多处理器系统?
我的意思是,如果我在一个主进程中使用 clone() 函数创建了许多线程,这些创建的线程会同时在不同的处理器上执行吗?
谢谢
【问题讨论】:
-
clone不是 Posix 函数。 -
感谢指正,已更改!
标签: c linux multithreading multiprocessing clone
clone() 函数是否利用了多处理器系统?
我的意思是,如果我在一个主进程中使用 clone() 函数创建了许多线程,这些创建的线程会同时在不同的处理器上执行吗?
谢谢
【问题讨论】:
clone 不是 Posix 函数。
标签: c linux multithreading multiprocessing clone
您通常无法从用户空间控制处理器(有一些例外)。内核决定如何将所有单独的执行上下文分配到可用的硬件处理器上。它可能会尝试变得漂亮和智能(即,一个睡眠线程在它进入睡眠的同一个 CPU 上被唤醒,如果没有争用,单独的线程应该分布在可用的 CPU 上),但是一个真正的操作系统运行多个进程是一件复杂的事情,处理器的选择取决于很多因素。
【讨论】:
clone 是真的令人困惑和毫无意义的。你不应该使用或知道clone。