系統(tǒng)運維
一、程序、進程、線程的概念:
1.程序是指一組指示計算機或其他具有信息處理能力裝置執(zhí)行動作或做出判斷的指令,通常用某種程序設(shè)計語言編寫,運行于某種目標(biāo)計算機體系結(jié)構(gòu)上。
2.進程是計算機中的軟件程序關(guān)于某數(shù)據(jù)集合上的一次運行活動,是系統(tǒng)進行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。
3.線程是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位,線程自己不擁有操作系統(tǒng)資源,但是該線程可與同屬進程的其他線程共享該進程所擁有的全部資源。
4.進程是程序的實體,而線程又是進程的實體。進程又是線程的容器。
二、程序、進程、線程三者區(qū)別如下:
1.程序:程序并不能單獨執(zhí)行,是靜止的,只有將程序加載到內(nèi)存中,系統(tǒng)為其分配資源后才能夠執(zhí)行。
2.進程:程序?qū)σ粋€數(shù)據(jù)集的動態(tài)執(zhí)行過程,一個進程包含一個或者更多的線程,一個線程同時只能被一個進程所擁有,進程是分配資源的基本單位。進程擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而提高了應(yīng)用程序的運行效率。
3.線程:線程是進程內(nèi)的基本調(diào)度單位,線程的劃分尺度小于進程,并發(fā)性更高,線程本身不擁有系統(tǒng)資源,但是該線程可與同屬進其他線程共享該進程所擁有的全部資源。每一個獨立的線程,都有一個程序運行的入口、順序執(zhí)行序列和程序的出口。
三、多進程、多線程的區(qū)別如下:
1.多進程:每個進程互相獨立,不影響主程序的穩(wěn)定性,某個子進程崩潰對其他進程沒有影響,通過增加CPU可以擴充軟件的性能,可以減少線程加鎖/解鎖的影響,極大提高性能。缺點是多進程邏輯控制復(fù)雜,需要和主程序交互,需要跨進程邊界,進程之間上下文切換比線程之間上下文切換代價大。
2.多線程:無需跨進程,程序邏輯和控制方式簡單,所有線程共享該進程的內(nèi)存和變量等。缺點是每個線程與主程序共用地址空間,線程之間的同步和加鎖控制比較麻煩,一個線程的崩潰會影響到整個進程或者程序的穩(wěn)定性。
文章題目:程序、進程、線程的概念與區(qū)別
當(dāng)前網(wǎng)址:http://chinadenli.net/article10/cpopdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計公司、Google、ChatGPT、響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)