併發(Concurrent) vs 並行(Parallel)

閱讀時間約 1 分鐘

併發

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

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

不斷切換


並行

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

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

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



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

否則

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

我的Java學習日記
留言0
查看全部
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只體現設計方向 而如何實現此設計
你可能也想看
Google News 追蹤
Thumbnail
目標:理解程式的排程策略,如何讓多個應用程式同時執行 CPU Scheduling Criteria(CPU 調度準則) CPU Scheduling(Preemptive & Non-Preemptive)
自電腦誕生以來,許多應用程式一直需要比計算設備所能提供的更快的執行速度和更多的資源。早期的應用程式仰賴處理器速度、記憶體速度和記憶體容量的提升來增強應用程式的功能,如天氣預報的及時性、工程結構分析的準確性、電腦生成圖形的真實感等。近年來,深度學習等新應用對執行速度和資源的需求更是超過了最好的計算設備
Thumbnail
在現今快節奏的生活中,多工作業常被視為提高效率的方式。然而,大腦無法同時處理多個需要認知能力的任務,只能進行任務切換。研究顯示,多工反而使得每項任務的效率降低,因此,專注於單一任務可能更能提升生活和工作的效率,讓我們擺脫多工迷思吧!
Thumbnail
避免 thread 競速(Race Condition)是多執行緒編程中常見的挑戰之一。 Race Condition 發生在多個執行緒同時訪問和修改共享資源時,因為執行緒之間的執行順序無法預測,可能會導致數據的不一致性或意外行為。 本文主要介紹如何使用Lock來避免此狀況出現。 首先先看沒
Thumbnail
Pair programming,譯為「結對編程」,是敏捷軟體開發的一種方式,由兩位軟體工程師同時開發一個程式,簡單來說,原本一個人可以完成的工作,找了兩個人來做,人力成本直接變成兩倍! |本篇報導同步刊登於 科技島 在大量運用 AI 人工智慧的時代,為何外商軟體公司仍積極運用結對編程進行
Thumbnail
簡要說明 JavaScript 的 Event Loop JavaScript 是單執行緒 (single-threaded) 語言,這意味著它一次只能執行一件事,因此所有函式都需要排隊等待執行,這被稱為同步 (synchronous)。在同步操作中,若函式過多或過於複雜,會導致程式阻塞 (blo
※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
Thumbnail
當你需要在 Python 中執行多個任務,但又不希望它們相互阻塞時,可以使用 threading 模組。 threading 模組允許你在單個程序中創建多個執行緒,這些執行緒可以同時運行,從而實現並行執行多個任務的效果。
Thumbnail
關於多執行緒/多行程的使用方式 在Python 3.2版本之後加入了「concurrent.futures」啟動平行任務, 它可以更好的讓我們管理多執行緒/多行程的應用場景,讓我們在面對這種併發問題時可以不必害怕, 用一個非常簡單的方式就能夠處裡, 底下我們將為您展示一段程式碼: imp
Thumbnail
目標:理解程式的排程策略,如何讓多個應用程式同時執行 CPU Scheduling Criteria(CPU 調度準則) CPU Scheduling(Preemptive & Non-Preemptive)
自電腦誕生以來,許多應用程式一直需要比計算設備所能提供的更快的執行速度和更多的資源。早期的應用程式仰賴處理器速度、記憶體速度和記憶體容量的提升來增強應用程式的功能,如天氣預報的及時性、工程結構分析的準確性、電腦生成圖形的真實感等。近年來,深度學習等新應用對執行速度和資源的需求更是超過了最好的計算設備
Thumbnail
在現今快節奏的生活中,多工作業常被視為提高效率的方式。然而,大腦無法同時處理多個需要認知能力的任務,只能進行任務切換。研究顯示,多工反而使得每項任務的效率降低,因此,專注於單一任務可能更能提升生活和工作的效率,讓我們擺脫多工迷思吧!
Thumbnail
避免 thread 競速(Race Condition)是多執行緒編程中常見的挑戰之一。 Race Condition 發生在多個執行緒同時訪問和修改共享資源時,因為執行緒之間的執行順序無法預測,可能會導致數據的不一致性或意外行為。 本文主要介紹如何使用Lock來避免此狀況出現。 首先先看沒
Thumbnail
Pair programming,譯為「結對編程」,是敏捷軟體開發的一種方式,由兩位軟體工程師同時開發一個程式,簡單來說,原本一個人可以完成的工作,找了兩個人來做,人力成本直接變成兩倍! |本篇報導同步刊登於 科技島 在大量運用 AI 人工智慧的時代,為何外商軟體公司仍積極運用結對編程進行
Thumbnail
簡要說明 JavaScript 的 Event Loop JavaScript 是單執行緒 (single-threaded) 語言,這意味著它一次只能執行一件事,因此所有函式都需要排隊等待執行,這被稱為同步 (synchronous)。在同步操作中,若函式過多或過於複雜,會導致程式阻塞 (blo
※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
Thumbnail
當你需要在 Python 中執行多個任務,但又不希望它們相互阻塞時,可以使用 threading 模組。 threading 模組允許你在單個程序中創建多個執行緒,這些執行緒可以同時運行,從而實現並行執行多個任務的效果。
Thumbnail
關於多執行緒/多行程的使用方式 在Python 3.2版本之後加入了「concurrent.futures」啟動平行任務, 它可以更好的讓我們管理多執行緒/多行程的應用場景,讓我們在面對這種併發問題時可以不必害怕, 用一個非常簡單的方式就能夠處裡, 底下我們將為您展示一段程式碼: imp