0

Clone (Linux) 创建内核级线程,而 PThreads 创建用户级线程。我感觉有些操作系统实际上并不支持用户级线程。举个例子:在双核处理器上,如果我有 2 个正在运行的进程,其中第一个有 3 个线程,第二个有 4 个线程,那么 CPU 的时隙不会被分成 7 个相等的时隙。单线程 BUT 一个核心将分配给进程 1 并在其 3 个线程之间共享,而另一个核心将分配给进程 2 并在其 4 个线程之间共享。

如果我们使用克隆(在 linux 上)而不是 PThreads。然后双核处理器的时间将在不同的内核线程之间平均共享(7)。

这是真的?

4

1 回答 1

1

下面是对当今最常用的NPTL 库的描述:

NPTL 是所谓的 1×1 线程库,因为用户创建的线程(通过 pthread_create() 库函数)与内核中的可调度实体(任务,在 Linux 情况下)是 1-1 对应的。这是最简单的线程实现。

如果它们是内核可调度的实体,那么它们可以在任何处理器上单独调度,而您的说法不正确。

于 2013-10-02T12:50:40.020 回答