Concurrent Programming, Parallel Programming 的本質區別是什么?
一、Concurrent Programming, Parallel Programming 的本質區別
略有交叉,各有不同。Parallel Programming強調如何在多于1個CPU等情況下對系統資源調度進行編程;Concurrent Programming強調多個進程/線程一起完成工作時對進程/線程的調度。
并發性意味著應用程序同時(并發地)處理多個任務。如果計算機只有一個CPU,應用程序可能不會在同一時間處理多個任務,但是在應用程序內一次處理多個任務。在開始下一個任務之前,它不會完全完成一個任務。相反,CPU在不同的任務之間切換,直到任務完成。
并行性意味著應用程序將其任務分割成更小的子任務,這些子任務可以并行處理,例如在多個cpu上同時處理。為了實現真正的并行,您的應用程序必須有多個線程在運行,或者至少能夠調度任務在其他線程、進程、cpu、顯卡等中執行。
并發性與應用程序如何處理其工作上的多個任務有關。應用程序可以一次(順序地)處理一個任務,也可以同時(并發地)處理多個任務。
另一方面,并行性與應用程序如何處理每個單獨的任務有關。應用程序可以從頭到尾連續地處理任務,或者將任務分解成可以并行完成的子任務。
如您所見,應用程序可以是并發的,但不能是并行的。這意味著它同時處理多個任務,但是線程一次只執行一個任務。在并行線程/ cpu中不存在任務的并行執行。
應用程序也可以是并行的,但不能是并發的。這意味著應用程序一次只能處理一個任務,這個任務被分解為可以并行處理的子任務。但是,每個任務(+子任務)在分解和并行執行下一個任務之前完成。
此外,應用程序既不能并發也不能并行。這意味著它一次只能處理一個任務,并且該任務不會被分解成多個子任務并行執行。
最后,應用程序也可以是并發的,也可以是并行的,因為它可以同時處理多個任務,還可以將每個任務分解為多個子任務,以便并行執行。然而,在這個場景中,并發性和并行性的一些好處可能會丟失,因為計算機中的cpu已經相當繁忙地處理并發性或并行性。組合它可能只會導致很小的性能提升甚至性能損失。在盲目地采用并行模型之前,請確保進行了分析和度量。
延伸閱讀:
二、用Runnable與Callable接口的方式創建多線程的特點
線程類只是實現了Runnable接口或Callable接口,還可以繼承其它類。
在這種方式下,多個線程可以共享一個target對象,所以非常適合多個線程來處理同一份資源情況。
如果需要訪問當前線程,需要使用Thread.currentThread方法。
Callable接口與Runnable接口相比,只是Callable接口可以返回值而已。

猜你喜歡LIKE
相關推薦HOT
更多>>
Concurrent Programming, Parallel Programming 的本質區別是什么?
一、Concurrent Programming, Parallel Programming 的本質區別略有交叉,各有不同。Parallel Programming強調如何在多于1個CPU等情況下對系詳情>>
2023-10-13 23:11:46
簡單工廠模式、工廠方法模式和抽象工廠模式有何區別?
一、簡單工廠模式、工廠方法模式和抽象工廠模式的區別簡單工廠模式簡單工模式時類的創建模式,又叫做靜態工廠方法(static Factory Method)。...詳情>>
2023-10-13 21:42:32
聚類和降維有什么區別與聯系?
一、聚類和降維的區別與聯系區別降維就是復雜的高維數據信息簡化為更容易閱讀的低維數據信息,就像素描把三維的立體圖形繪制在二維的平面上,而...詳情>>
2023-10-13 20:26:02
OC中協議和多態有什么區別?
一、OC中協議和多態的區別在Objective-C中,協議(Protocol)和多態(Polymorphism)是兩個不同的概念,它們的區別如下:協議(Protocol):協...詳情>>
2023-10-13 20:01:13熱門推薦
大家都在用的Mpp數據庫有哪些?
沸Concurrent Programming, Parallel Programming 的本質區別是什么?
熱lua編譯器和lua解釋器有什么區別?
熱怎么自定義Visual Studio代碼折疊識別的區域?
新4核4線程和4核8線程區別?
簡單工廠模式、工廠方法模式和抽象工廠模式有何區別?
Spark 和 Hadoop 有什么區別?
cs和bs區別?
axios和ajax區別?
ar模型和ma模型的區別?
聚類和降維有什么區別與聯系?
DOF和HP有什么區別?
OC中協議和多態有什么區別?
SAS 9.0中,class指令跟by指令有哪些區別?
技術干貨






