Contents
原文網址
筆記與摘要
是不是經常會認為 Concurrency 跟 Parallelism 就是指電腦在同一個時間處理很多事情?實際上跟你想的可能不太一樣
這篇文章作者使用廚師在廚房做菜的比喻來形容 Concurrency 跟 Parallelism 的差異,使用這種生活中的案例來形容電腦抽象的行為,還蠻容易理解的
Concurrency
在相同的時間間隔內完成任務。 這裡的重要細節是,這些任務不一定同時執行,但是它們可以被分割成更小可以交織的任務。
想象一個廚師在切萵苣的同時,還不時檢查烤箱里的東西。 他必須停止切菜,然後檢查烤箱,停止檢查烤箱,然後再開始切,重複這個過程直到完成。
Concurrency 主要與流程管理( logistic )有關,沒有 Concurrency,廚師將不得不等到烤箱里的肉準備好再切萵苣。
Parallelism
Parallelism 指的是同時完成任務
現在我們有兩個廚師,一個可以照顧烤箱,而另一位則可以切萵苣
Parallelism 是一個 Concurrency 的子類: 在同時執行多個任務之前,你首先要管理多個任務。