对接和并发有什么区别?



我遇到了以前从未听说过的对接的定义,我想到的第一件事就是并发。但是,我找不到任何与这两个概念相关的帖子。我也读过这个。

如果我没记错的话,对接在某种程度上与图灵机有关,而且相当理论化,但它们都是,直观地,关于分发源:根据某些预定义的调度或规则集,从此过程和该过程中执行一些内容。

我的问题是,有什么区别?或者它们根本不是可比的概念?

对接根本不是理论性的。任何允许多个进程或线程的操作系统都使用对接。否则,单核 PC 将无法处理多个进程或线程。对接将是实现并发实体(如线程)的一种方法。但并发也可以以不同的方式处理。例如,并行计算可以由 GPU 处理,大多数现代 CPU 具有多个内核,允许并发执行而无需对接。

在线程的上下文中,如果我们更喜欢维基百科页面中讨论的breadth-first,那么对接似乎更接近于抢占式多线程

抢占式多线程,强制每个线程离开CPU(时间片),并在一段时间后(纳秒)将控制权交给其他线程。走向广度而不是深度

理论上,对接的主要目的是展示如何在有限数量的步骤内到达无限计算/任务列表中的任何一个终点(如果有这样的端点,即计算停止)。如果按顺序处理计算,则第一个非停止过程之后的任何内容将不再执行。

如果进程列表不是无限的,那么您也可以执行所有进程的第一条指令,然后执行第二条,依此类推。"对角线"的想法是不必要的。进程的无限列表在并发性中可能不是那么相关。

最新更新