Process 两个进程的语句有多少种交织方式

Process 两个进程的语句有多少种交织方式,process,scheduling,Process,Scheduling,我想知道,两个进程的语句有多少种交织方式? 我知道交错是什么,但我似乎无法推导出一个公式。它是可能的交错组合爆炸的原因,这使得多线程代码的分析非常具有挑战性,如果不是不切实际的话 因此,给定带有N指令的流程P1,以及带有M指令的流程P2,您将得到N+M除以N,即(N+M)!/NM,交错,即使每个进程的指令数相对较少,也会呈指数增长。例如,如果您有两个进程,每个进程有五条指令,则可能的交错数为252。然而,大多数现实世界的应用程序都有数百万条指令,而且通常不止涉及两个进程(或线程)。你的意思是,两

我想知道,两个进程的语句有多少种交织方式? 我知道交错是什么,但我似乎无法推导出一个公式。

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


因此,给定带有
N
指令的流程
P1
,以及带有
M
指令的流程
P2
,您将得到
N+M除以N
,即
(N+M)!/NM,交错,即使每个进程的指令数相对较少,也会呈指数增长。例如,如果您有两个进程,每个进程有五条指令,则可能的交错数为
252
。然而,大多数现实世界的应用程序都有数百万条指令,而且通常不止涉及两个进程(或线程)。

你的意思是,两个进程,一个有N个原子语句,另一个有M个原子语句,你想计算它们在单个处理器上可以交错的方式的数量吗?我不知道答案,但似乎是一个好的开始。上界(尽管不是很紧)将是指令的排列(N+M)!这并不能回答问题。这无助于推导公式。