0

我遇到了我以前從未聽說過的Dovetailing的定義,我想到的第一件事是Concurrency。但是,我找不到有關這兩個概念的帖子。我也讀this燕尾和併發有什麼區別?

如果我沒有弄錯,燕尾跟圖靈機有點關係,而且理論上是相似的,但它們都直觀地關於分佈源: 從這個過程中執行一些操作,並根據某些預定義的調度或一組規則。

我在這裏的問題是,有什麼區別?還是他們根本沒有可比較的概念?

回答

1

燕尾在理論上根本就不是。允許多個進程或線程的任何操作系統都使用燕尾。否則,單核PC將無法處理多個進程或線程。 Dovetailing將會是一種方法,以實現併發實體,如線程。但併發性也可以以不同方式處理。例如。並行計算可以由GPU處理,而大多數現代CPU具有多個核心,允許並行執行而無需配合使用。

2

在線程的上下文中,接二連三似乎更接近搶佔式多線程如果我們寧願breadth-first在討論Wikipedia page

搶佔式多線程,迫使每個線程離開CPU(時間片)和後有時,(納秒)將控制權交給其他線程。走廣度而不是深度明智

1

在理論上燕尾的主要目的是顯示如何達到任何無限計算/任務列表的終點(如果有這樣一個終點,即計算停止)在有限數量的步驟內。如果您按順序進行計算,那麼第一個非暫停過程之後的任何內容都不會再執行。

如果進程列表不是無限的,那麼你也可以執行第一條指令,全部執行,然後執行第二條指令,依此類推。 「對角」的想法是沒有必要的。無限的進程列表在併發中可能不那麼重要。