回覆列表
-
1 # 使用者4412311999012
-
2 # maimi32709
執行緒優點:無需跨程序邊界;缺點:每個執行緒與主程式共用地址空間,受限於2GB地址空間;
1、作業系統資源管理方式區別程序有獨立的地址空間,一個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是一個程序中的不同執行路徑。
2、所處環境區別在作業系統中能同時執行多個程序(程式);而在同一個程序(程式)中有多個執行緒同時執行(透過CPU排程,在每個時間片中只有一個執行緒執行)系統在執行的時候會為每個程序分配不同的記憶體空間;而對執行緒而言,除了CPU外,系統不會為執行緒分配記憶體(執行緒所使用的資源來自其所屬程序的資源),執行緒組之間只能共享資源。
程序和執行緒的區別和聯絡 1.程序有自己獨立的地址空間;而執行緒共享程序的地址空間; 2.一個程式至少有一個程序,一個程序至少有一個執行緒; 3.執行緒是處理器排程的基本單位,但程序不是; 4.二者均可併發執行 多執行緒比多程序成本低,但效能更低。 在UNIX環境,多程序排程開銷比多執行緒排程開銷,沒有顯著區別,就是說,UNIX程序排程效率是很高的。記憶體消耗方面,二者只差全域性資料區,現在記憶體都很便宜,伺服器記憶體動輒若干G,根本不是問題。 多程序是立體交通系統,雖然造價高,上坡下坡多耗點油,但是不堵車。 多執行緒是平面交通系統,造價低,但紅綠燈太多,老堵車。