search

程序和執行緒的區別有什麼

程序和執行緒的區別有什麼

  程序和執行緒的區別:

  1、排程:執行緒作為排程和分配的基本單位,程序作為擁有資源的基本單位。

  2、併發性:不僅程序之間可以併發執行,同一個程序的多個執行緒之間也可以併發執行。

  3、擁有資源:程序是擁有資源的一個獨立單位,執行緒不擁有系統資源,但可以訪問隸屬於程序的資源。

  程序是具有一定獨立功能的程式、它是系統進行資源分配和排程的一個獨立單位,重點在系統排程和單獨的單位,也就是說程序是可以獨立執行的一段程式。

  執行緒是程序的一個實體,是CPU排程和分派的基本單位,他是比程序更小的能獨立執行的基本單位,執行緒自己基本上不擁有系統資源。在執行時,只是暫用一些計數器、暫存器和棧。

程序和執行緒的區別

  在開銷方面:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,同一類執行緒共享程式碼和資料空間,每個執行緒都有自己獨立的執行棧和程式計數器(PC),執行緒之間切換的開銷小。

  所處環境:在作業系統中能同時執行多個程序(程式);而在同一個程序(程式)中有多個執行緒同時執行(透過CPU排程,在每個時間片中只有一個執行緒執行)

  記憶體分配方面:系統在執行的時候會為每個程序分配不同的記憶體空間;而對執行緒而言,除了CPU外,系統不會為執行緒分配記憶體(執行緒所使用的資源來自其所屬程序的資源),執行緒組之間只能共享資源。

  包含關係:沒有執行緒的程序可以看做是單執行緒的,如果一個程序內有多個執行緒,則執行過程不是一條線的,而是多條線(執行緒)共同完成的;執行緒是程序的一部分,所以執行緒也被稱為輕權程序或者輕量級程序。

程序和執行緒的區別

  程序和執行緒的根本區別是程序是作業系統資源分配的基本單位,而執行緒是處理器任務排程和執行的基本單位。另外區別還有資源開銷、包含關係、記憶體分配、影響關係、執行過程等。

  資源開銷:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,同一類執行緒共享程式碼和資料空間,每個執行緒都有自己獨立的執行棧和程式計數器(PC),執行緒之間切換的開銷小。

  包含關係:如果一個程序內有多個執行緒,則執行過程不是一條線的,而是多條線(執行緒)共同完成的;執行緒是程序的一部分,所以執行緒也被稱為輕權程序或者輕量級程序。

  記憶體分配:同一程序的執行緒共享本程序的地址空間和資源,而程序之間的地址空間和資源是相互獨立的。

  影響關係:一個程序崩潰後,在保護模式下不會對其他程序產生影響,但是一個執行緒崩潰整個程序都死掉。所以多程序要比多執行緒健壯。

  執行過程:每個獨立的程序有程式執行的入口、順序執行序列和程式出口。但是執行緒不能獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制,兩者均可併發執行。

  程序和執行緒的根本區別是程序是作業系統資源分配的基本單位,而執行緒是處理器任務排程和執行的基本單位。


程序執行的區別是什麼

  1、功能不同:程序是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。   2、工作原理不同:早期面向程序設計的計算機結構中,程序是程式的基本執行實體;在當代面向執 ...

程序執行區別

  1、程序間是獨立的,這表現在記憶體空間,上下文環境,無法突破程序邊界存取其他程序內的儲存空間;   2、執行緒由於處於程序空間內,所以同一程序所產生的執行緒共享同一記憶體空間,同一程序中的兩段程式碼不能夠同時執行,除非引入執行緒,執行緒是屬於程序的,當程序退出時該程序所產生的執行緒都會被強制退出並清除; ...

linux程序執行區別

  很多朋友都想知道linux程序與執行緒的區別?下面就一起來了解一下吧!   linux程序與執行緒的區別   程序是在某個資料集合上具有獨立功能的一次執行活動,也是系統進行資源分配和排程的一個獨立單位。執行緒在程序方面屬於程序的實體,是CPU排程和分配的基本單位,基本上執行緒自己沒有擁有任何的系統資源,只 ...

cpu的核心執行什麼用

  CPU構成裡包含了核心與執行緒,同類別下核心越多 , 執行緒越多,處理資料的速度就越快。CPU所有的計算、接受和儲存命令、處理資料都由核心執行。各種CPU核心都具有固定的邏輯結構,一級快取、二級快取、執行單元、指令級單元和匯流排介面等邏輯單元都會有科學的佈局。Intel的I3或者I5有雙核四執行緒的CPU ...

四核四執行四核八執行區別

  四核四執行緒和四核八執行緒的區別:四核四執行緒任務管理器會顯示出4張CPU圖表,而四核八執行緒任務管理器會顯示出8張CPU表。四核四執行緒相當於四隻手做四件不同的事情,而四核八執行緒就相當於四隻手能同時做八件事情。   執行緒(英文:thread),臺灣地區譯為執行緒(英文:threadofexecuti ...

電磁爐煤氣灶的區別什麼

  電磁爐和煤氣灶都是常用的廚具,電磁爐和煤氣灶的區別有什麼,今天就讓來為大家講解一下。   電磁爐和煤氣灶的區別:   1、成本不同。煤氣灶的成本低,幾乎很多家庭都曾用過,加煤氣也很方便。電磁爐雖然也不貴,但是不少所有鍋具都能放在上面使用,必須用電磁爐專用鍋,有一定的侷限性。   2、安全性不同。煤氣灶容易 ...

破壁機豆漿機的區別哪些

  1、價格區別:破壁機的價格要遠遠高於豆漿機,一般豆漿機的價格在200-300元之間,而破壁機的價格要上千元。   2、功能區別:從功能上來看,豆漿機只能做豆漿,提供攪碎黃豆並加熱煮沸的功能。而破壁機不但可以做豆漿,還可以做其他食物,比如磨乾粉、絞肉餡、刨冰、榨果汁等,功能強大。   3、營養價值區別:破壁 ...