两个进程的语句可以交错的方式有多少种

时间:2013-10-11 11:16:48

标签: process scheduling

我想知道,2个进程的语句可以交错多少种方式? 我知道什么是交错,但我似乎无法得出一个公式。

1 个答案:

答案 0 :(得分:3)

它是Binomial Coefficient并且它负责可能的交错的组合爆炸,这使得多线程代码的分析非常具有挑战性,如果不是不切实际的话。

所以给定流程P1带有N说明并处理P2并附带M说明,您会获得N+M over N,即(N+M)! / N!M!,交错,即使每个进程的指令数量相对较少,指数也会呈指数增长。例如,如果您有两个进程,每个进程有五个指令,则可能的交错数为252。然而,大多数真实世界的应用程序都有数百万条指令,而且通常只涉及两个进程(或线程)。