首頁 >運維 >linux運維 >linux中進程和執行緒的差別是什麼

linux中進程和執行緒的差別是什麼

王林
王林原創
2020-06-29 13:30:504879瀏覽

linux中進程和執行緒的差別是:1、一個程式至少有一個行程,一個行程至少有一個執行緒;2、執行緒的劃分尺度小於進程;3、進程在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體。

linux中進程和執行緒的差別是什麼

進程與執行緒的定義

(推薦學習:linux教學

#進程是具有一定獨立功能的程式關於某個資料集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位;

線程是進程的一個實體行的基本單位,線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器、一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源,是CPU調度和分派的基本單位。

執行緒與進程的差異

1、一個程式至少有一個行程,一個行程至少有一個執行緒;

2、執行緒的分割尺度小於進程,使得多線程程式的並發性高;

3、進程在執行過程中擁有獨立的記憶體單元,而多個執行緒共享內存,從而大大提高了程式的運行效率;

4、每個獨立的執行緒有一個程式運行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制;

#5、從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這是進程和執行緒的重要區別。

以上是linux中進程和執行緒的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn