作者:joeKong
著作權:本站使用「CC BY 4.0」創作共享協議,轉載請在文章明顯位置注明作者及出處,
——————————————————————————————————————————
首先,linux上的application是作為一個process進行啟動的,Process的管理是OS(在本例中為Linux)的重要角色,OS負責process的調度,中斷,信號控制,優先級控制,行程切換,狀態管理,記憶體管理等,
什么是process?
porcess是在CPU上運行的,并且可以使用Linux內核所控制的任何Resource來完成其任務,
什么是thread?
執行緒是從單個行程創建的最小執行單元,不同的執行緒可以從同一行程中并行的被啟動,
執行緒可以共享例如memory和打開的檔案等的資源,不同的執行緒也可以訪問同一個應用程式的資料,這是一個很大的差異,因為行程無法共享資源,換句話說,這也意味著執行緒不應該在同一時間內更改共享資源,否則會產生資料不整合等的例外,因此,執行緒鎖和并行處理的控制是應用程式的責任,在進行應用程式編程的時候需要額外注意,
行程和執行緒之間的區別,
如前所述,行程無法共享資源,因此,您需要復制資源才可以啟動一個行程,而執行緒只需要極少的背景關系就可以進行啟動和切換,所以,從性能的角度來看,啟動執行緒是更快速的,但另一方面,從任務調度的角度來看,行程和執行緒具有相似的特性,因此Linux內核將以相同的方式處理他們,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/13596.html
標籤:Linux
上一篇:Linux 下使用 killall 命令終止行程的 8 大用法
下一篇:VMware的網路配置
