程序和執行緒之間的區別

2022-04-10 19:47:55 字數 571 閱讀 3380

程序執行緒

定義資源單位(房子)

執行單位(**)

優點多核cpu密集型節省時間

節省資源、速度快、多個執行緒、io密集型節省資源

缺點浪費資源,建立耗費時間長

同一程序下多執行緒無法執行,無法利用多核優勢(目的:gil控制python直譯器記憶體管理)

資料相關

程序之間資料相互隔離,可以通過佇列模組和ipc機制(借助佇列實現通訊)

執行緒之間資料相互共享

空間程序有獨立的記憶體空間

執行緒依託於程序,沒有獨立的記憶體空間,同一程序的執行緒共享本程序的位址空間。

執行過程

每個獨立的程序程有乙個程式執行的入口、順序執行序列和程式入口

不能獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制

開啟方式

開啟程序必須在main下面執行**

開啟執行緒不需要在main下面執行** 直接書寫就可以 但是我們還是習慣性的將啟動命令寫在main下面

開啟時間

程序需要建立申請空間開銷大,速度教慢

建立執行緒的開銷非常小 幾乎是**一執行執行緒就已經建立了

執行緒之間和程序之間的同步

今天學習的內容為 利用互斥事件來控制線程之間 程序之間的同步問題。其實,程序之間的同步也就類似於執行緒之間的同步。互斥事件的作用就是為了保證任乙個時間內,只有乙個執行緒對對公共資源進行操作。下面來看一下執行緒之間的同步,如果是在乙個程序內的執行緒同步問題的話。這樣的例子很多,我就舉乙個最簡單的,執行...

程序與執行緒之間的區別

程序是併發執行的程式在執行過程中分配和管理資源的基本單位,是乙個動態的概念。每個程序都有自己的位址空間 程序空間 程序空間的大小與處理機位數有關。程序至少有5種基本狀態 初始態,執行態,等待狀態,就緒狀態,終止狀態。在多使用者環境下,乙個伺服器通常需要接受大量的不學定數量使用者的併發請求,而為每乙個...

執行緒與程序之間的聯絡和區別

程序 process 和執行緒 thread 是作業系統的基本概念,但是它們比較抽象,不容易掌握。最近,我讀到一篇材料,發現有乙個很好的模擬,可以把它們解釋地清晰易懂。1.計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。2.假定工廠的電力有限,一次只能供給乙個車間使用。也就...