併發(Concurrent) vs 並行(Parallel)

併發(Concurrent) vs 並行(Parallel)

更新於 發佈於 閱讀時間約 1 分鐘

併發

多個事情在同一時間段內同時發生

併發的多個任務之間是互相搶佔資源的

不斷切換


並行

多個事情在同一個時間點上同時發生

並行的多個任務之間是不互相搶佔資源的 (因為是不同的thread在動作)

根據CPU數量,例如:4 個 CPU的電腦能同時啟動4個thread同時進行任務



只有在多CPU的情況中,才會發生並行(Parallel)

否則

看似同時發生的事情,其實都是併發(Concurrent)執行的

avatar-img
Genos's Coding Diary的沙龍
6會員
19內容數
我的Java學習日記
留言
avatar-img
留言分享你的想法!
Map是由Key-Value所組成的 而Key的部分不能重複,因為是Set
Set 是繼承 Collection API的一個子接口 interface 唯一的限制是不允許重覆的物件存在 所以當不想有相同的物件出現,就可以選擇用Set
程式建立thread,然後會交給硬體中的scheduler去排定執行、切換資源 我們無法強制指定順序,因為電腦有太多任務需要執行,但資源有限,因此會由scheduler去分配、切換資源 電腦能同時執行多項任務
Error分為三種 Compile time error Runtime error 俗稱(Exception) Logical error
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計
Map是由Key-Value所組成的 而Key的部分不能重複,因為是Set
Set 是繼承 Collection API的一個子接口 interface 唯一的限制是不允許重覆的物件存在 所以當不想有相同的物件出現,就可以選擇用Set
程式建立thread,然後會交給硬體中的scheduler去排定執行、切換資源 我們無法強制指定順序,因為電腦有太多任務需要執行,但資源有限,因此會由scheduler去分配、切換資源 電腦能同時執行多項任務
Error分為三種 Compile time error Runtime error 俗稱(Exception) Logical error
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計