Answers:
术语“真正的并发性”出现在并发和并行计算的理论研究中。与交错并发形成对比。真正的并发是不能减少为交错的并发。如果在计算的每个步骤中只能发生一个原子计算动作(例如,发送方和接收方之间交换消息),则将并发进行交错。如果一个步骤中发生了多个这样的原子操作,则并发为真。
区分两者的最简单方法是查看并行组合的规则。在基于交织的设置中,它看起来像这样:
该规则强制并行组成中只有一个进程可以执行原子动作。对于真正的并发,更类似以下规则。
该规则允许并行组成中的两个参与者都执行原子动作。
当并发理论确实是对并行执行计算步骤的系统的研究时,为什么人们会对交错式并发感兴趣?答案是,并且这是一个很好的见解,对于简单形式的消息传递并发,真正的并发和基于交织的并发在上下文上是不可区分的。换句话说,就观察者而言,交错并发的行为就像真正的并发。交织是对真正并发的良好分解。由于交织在证明中更易于处理,因此人们通常只研究基于交织的更简单的并发(例如CCS和-钙)。但是,对于具有更丰富观察形式的并发计算(例如定时计算),这种简单性消失了:真正并发与交错并发之间的差异变得可见。
标准等效项(例如双仿真和跟踪)对基于真实和交织的并发具有相同的定义。但是,取决于底层演算,它们可能等同于也可能不等同于不同的过程。
让我给出一个非正式的解释,说明为什么在简单的过程计算中无法区分交错和真正的并发交互。设置为CCS或类演算。说我们有一个程序
同时,具有以下第二个交错的缩减序列: 但这只是真正并发设置中的简化序列,只要不强制要求真正的并发(即即使一次可能存在多个交互,也可以执行交错执行。
说实话,我本人正在寻找答案。这里的语义是什么?我们给“过程代数”的描述赋予一个“过渡系统”的含义;也就是说,含义是使用定义的SOS规则从初始系统描述生成的过渡系统。因此,使用交织语义,我们失去了所获得的过渡系统中的所有并发结构。
另一个答案可能不是“可观察的差异”,而是“可观察性”的差异。使用交织语义,我们只能观察到线性游程。同时,使用真正的并发,我们可能会观察到“并发运行”(请参阅W.Reisig'13 Petri网书)。
尽管如此,我对我上面所说的还有一些疑问,并且听到更深刻的见解会很有趣。即,使用Lamport矢量时钟,可以将多少相对论转移到并发理论。