<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:長沙千鋒IT培訓  >  技術干貨  >  Concurrent Programming, Parallel Programming 的本質區別是什么?

    Concurrent Programming, Parallel Programming 的本質區別是什么?

    來源:千鋒教育
    發布人:xqq
    時間: 2023-10-13 23:11:46

    一、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

    怎么自定義Visual Studio代碼折疊識別的區域?

    2023-10-13

    hcip和hcnp有什么區別?

    2023-10-13

    layui和vue的區別?

    2023-10-13

    最新文章NEW

    cs和bs區別?

    2023-10-13

    DOF和HP有什么區別?

    2023-10-13

    hold和host的區別?

    2023-10-13

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>