回覆列表
  • 1 # lpddz2910

    多執行緒指的是一個程序有多個執行緒執行,執行緒之間能夠共用資源,但是隻能靠一個cpu執行,效率不高。多程序指的是多個程序同時執行,並佔用多個cpu,實現並行,效率高,但是程序之間不能隨意共享資源,只能透過管道和程序佇列交換資料

  • 2 # 山東中公優就業

    程序和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程序有獨立的地址空間,一個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是一個程序中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的地址空間,一個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

    1) 簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒

    2) 執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

    3) 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

    4) 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

    5) 從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

  • 中秋節和大豐收的關聯?
  • 一對戀人,女方很高,下雨天,到底誰打傘合適呢?