單執行緒和多執行緒程序


單執行緒程序一次只執行一條指令。換句話說,一次只處理一個命令。

與單執行緒程序相反的是多執行緒程序。這些程序允許同時執行程式的多個部分。這些是程序內可用的輕量級程序。

多執行緒程序的實現

多執行緒程序可以實現為使用者級執行緒或核心級執行緒。有關這些的詳細資訊將透過以下圖表提供:

Multithreaded Processes

  • 使用者級執行緒

    使用者級執行緒由使用者實現,核心不知道這些執行緒的存在。它將它們視為單執行緒程序。使用者級執行緒比核心級執行緒小且快得多。此外,使用者級執行緒的同步不需要核心參與。

  • 核心級執行緒

    核心級執行緒由作業系統直接處理,執行緒管理由核心完成。程序和程序執行緒的上下文資訊都由核心管理。因此,核心級執行緒比使用者級執行緒慢。

多執行緒程序的優點

多執行緒程序的一些優點如下:

  • 程序的所有執行緒共享其資源,例如記憶體、資料、檔案等。單個應用程式可以使用資源共享在同一地址空間中擁有不同的執行緒。
  • 使用執行緒更經濟,因為它們共享程序資源。相比之下,建立程序更昂貴且耗時,因為它們需要更多記憶體和資源。
  • 程式響應能力允許程式即使其部分被阻塞也能執行。如果程序正在執行冗長的操作,也可以這樣做。
  • 在多處理器架構中,每個執行緒都可以在不同的處理器上並行執行。這增加了系統的併發性。這與單處理器系統形成直接對比,在單處理器系統中,一次只有一個程序或執行緒可以在處理器上執行。

多執行緒程序的缺點

多執行緒程序的一些缺點如下:

  • 多執行緒程序相當複雜。只有經驗豐富的程式設計師才能處理這些程式碼。
  • 難以處理多執行緒程序中的併發性。這可能導致複雜性和將來的問題。
  • 與單執行緒程序相比,在多執行緒程序中識別和糾正錯誤要困難得多。

更新於:2020年1月31日

43K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.