每个线程的每个进程的时间量

时间:2012-08-24 20:42:27

标签: c windows linux kernel

我有一个关于为windows和linux中的进程和线程提供时间量的问题。

我知道操作系统通常会为每个线程提供固定数量的时间量。 (我知道时间量变化取决于前景或后台线程。也可能根据进程的优先级而改变。)

每个过程是否有固定的时间量?例如。如果OS为每个进程提供36个时间量程,并且如果一个进程有2个线程,则每个进程将获得18个量程。如果线程数变为3,那么每个线程将变为12。

但是,如果不存在固定的每个进程量子并且OS为每个线程提供修复量(不依赖于父进程),那么我可以通过生成多个线程来提高我的进程效率。(假设我不这样做我的代码中有两个互斥锁/信号量。)

我有一个可以在OS(Windows和Linux)上运行的应用程序。所以,我在一般意义上问它。

由于

2 个答案:

答案 0 :(得分:1)

在Linux上从调度角度来看,线程和进程是等价的。因此,如果一个进程产生两个线程,每个线程应该得到36个量子。虽然我想听到一个比我更有信誉的人来证实这一点。

答案 1 :(得分:1)

相当有趣的问题:)

我确实没有确切的细节,但是从下面的链接可以看出现代操作系统有基于估计的线程调度方法。

http://technet.microsoft.com/en-us/magazine/2007.02.vistakernel.aspx