程式:所謂的程式,是硬碟上的一個可執行檔案,是靜態的,
行程:一個程式運行起來后,代碼加上用到的資源稱之為行程,它是作業系統分配資源的基本單元,

一個程式,對應行程可以有多個,
多任務不僅可以通過執行緒來實作,行程也是可以的,
行程的狀態
實際作業中,任務數往往大于 cpu 的核數,即一定有一些任務正在執行,而另外一些任務在等待 cpu 進行執行,因此導致了行程有不同的狀態,

- 就緒狀態:運行的條件都已經滿足,正在等在cpu執行,
- 執行狀態:cpu正在執行其功能,
- 等待狀態:等待某些條件滿足,例如一個程式sleep了,此時就處于等待態,
行程和執行緒的比較
- 行程,能夠完成多任務,比如在一臺電腦上能夠同時運行多個QQ,
- 執行緒,能夠完成多任務,比如一個QQ中的多個聊天視窗,
定義的不同
行程是系統進行資源分配和調度的一個獨立單位,
執行緒是行程的一個物體,是 CPU 調度和分派的基本單位,它是比行程更小的能獨立運行的基本單位,
執行緒自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程式計數器,一組暫存器和堆疊),但是它可與同屬一個行程的其他的執行緒共享行程所擁有的全部資源,
區別
一個程式至少有一個行程,一個行程至少有一個執行緒,
執行緒的劃分尺度小于行程(資源比行程少),使得多執行緒程式的并發性高,
行程在執行程序中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的運行效率,
執行緒不能夠獨立執行,必須依存在行程中,行程可以理解為工廠中的一條流水線,而其中的執行緒就是這個流水線上的工人,

優缺點
執行緒和行程在使用上各有優缺點:執行緒執行開銷小,但不利于資源的管理和保護;而行程正相反,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/156965.html
標籤:Python
上一篇:C語言題目
