我想知道,两个过程的语句可以通过几种方式交错?
我知道什么是交错,但是我似乎无法导出公式。
最佳答案
这是Binomial Coefficient,它负责可能的交错组合爆炸,这使得对多线程代码的分析非常困难,甚至是不切实际的。
因此,给定带有P1
指令的N
进程和带有P2
指令的M
进程,您将获得N+M over N
(即(N+M)! / N!M!
)交错,即使每个进程的指令数量相对较少,它也会呈指数增长。例如,如果您有两个进程,每个进程有五个指令,则可能的交错数为252
。但是,大多数实际应用程序具有数百万条指令,并且通常涉及的不仅仅是两个进程(或线程)。
关于process - 2个过程的语句可以交错多少种方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19316808/