串行、並行和併發
並行和併發
併發:1.一個處理器。2.邏輯上的同時運行
並行:2.多個處理器。2.物理上的同時運行
併發:一個咖啡機,交替
並行:多個咖啡機
並行:真正的“同時”運行,在同一時刻,有多個任務同時執行。(例如,在多核處理器上,有兩個線程同時執行同一段代碼。)
可見,單核處理器是無法實現並行的,因爲單核處理器無法在同一時刻執行多個任務。
併發:兩個或多個任務可以在重疊的時間段內啓動,運行和完成
並行(多個線程同時執行) 一定是併發,並不一定意味着併發一定要求是並行(包含關係)
併發性
不同的部分可以無序或同時執行,且不影響最終的執行結果
併發性是之中性質,程序如果想要併發或是並行的執行,前提條件就是具有併發性。併發性是併發或者並行的前提條件和必要條
件。
在講併發的時候,最好能明確一下,指的是程序運行時後的併發,還是程序具有併發性。這樣才能做到概念清晰