我想知道,两个过程的语句可以通过几种方式交错?
我知道什么是交错,但是我似乎无法导出公式。

最佳答案

这是Binomial Coefficient,它负责可能的交错组合爆炸,这使得对多线程代码的分析非常困难,甚至是不切实际的。

因此,给定带有P1指令的N进程和带有P2指令的M进程,您将获得N+M over N(即(N+M)! / N!M!)交错,即使每个进程的指令数量相对较少,它也会呈指数增长。例如,如果您有两个进程,每个进程有五个指令,则可能的交错数为252。但是,大多数实际应用程序具有数百万条指令,并且通常涉及的不仅仅是两个进程(或线程)。

关于process - 2个过程的语句可以交错多少种方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19316808/

10-13 05:35