新聞中心
進(jìn)程和線程這兩個(gè)話題是程序員繞不開的,操作系統(tǒng)提供的這兩個(gè)抽象概念實(shí)在是太重要了。

寧遠(yuǎn)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
關(guān)于進(jìn)程和線程有一個(gè)極其經(jīng)典的問題,那就是進(jìn)程和線程的區(qū)別是什么?
關(guān)于這個(gè)問題,有的同學(xué)可能已經(jīng)背得滾瓜爛熟了:“進(jìn)程是操作系統(tǒng)分配資源的單位,線程是調(diào)度的基本單位,線程之間共享進(jìn)程資源”。
可是你真的理解了上面最后一句話嗎?到底線程之間共享了哪些進(jìn)程資源,共享資源意味著什么?共享資源這種機(jī)制是如何實(shí)現(xiàn)的?如果你沒有答案的話,這篇文章就是為你準(zhǔn)備的。
1、首先是定義
進(jìn)程:是執(zhí)行中一段程序,即一旦程序被載入到內(nèi)存中并準(zhǔn)備執(zhí)行,它就是一個(gè)進(jìn)程。進(jìn)程是表示資源分配的的基本概念,又是調(diào)度運(yùn)行的基本單位,是系統(tǒng)中的并發(fā)執(zhí)行的單位。
線程:?jiǎn)蝹€(gè)進(jìn)程中執(zhí)行中每個(gè)任務(wù)就是一個(gè)線程。線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位。
2、一個(gè)線程只能屬于一個(gè)進(jìn)程,但是一個(gè)進(jìn)程可以擁有多個(gè)線程。多線程處理就是允許一個(gè)進(jìn)程中在同一時(shí)刻執(zhí)行多個(gè)任務(wù)。
3、線程是一種輕量級(jí)的進(jìn)程,與進(jìn)程相比,線程給操作系統(tǒng)帶來側(cè)創(chuàng)建、維護(hù)、和管理的負(fù)擔(dān)要輕,意味著線程的代價(jià)或開銷比較小。
4、線程沒有地址空間,線程包含在進(jìn)程的地址空間中。線程上下文只包含一個(gè)堆棧、一個(gè)寄存器、一個(gè)優(yōu)先權(quán),線程文本包含在他的進(jìn)程 的文本片段中,進(jìn)程擁有的所有資源都屬于線程。所有的線程共享進(jìn)程的內(nèi)存和資源。 同一進(jìn)程中的多個(gè)線程共享代碼段(代碼和常量),數(shù)據(jù)段(全局變量和靜態(tài)變量),擴(kuò)展段(堆存儲(chǔ))。但是每個(gè)線程擁有自己的棧段, 寄存器的內(nèi)容,棧段又叫運(yùn)行時(shí)段,用來存放所有局部變量和臨時(shí)變量。
5、父和子進(jìn)程使用進(jìn)程間通信機(jī)制,同一進(jìn)程的線程通過讀取和寫入數(shù)據(jù)到進(jìn)程變量來通信。
6、進(jìn)程內(nèi)的任何線程都被看做是同位體,且處于相同的級(jí)別。不管是哪個(gè)線程創(chuàng)建了哪一個(gè)線程,進(jìn)程內(nèi)的任何線程都可以銷毀、掛起、恢復(fù)和更改其它線程的優(yōu)先權(quán)。線程也要對(duì)進(jìn)程施加控制,進(jìn)程中任何線程都可以通過銷毀主線程來銷毀進(jìn)程,銷毀主線程將導(dǎo)致該進(jìn)程的銷毀,對(duì)主線程的修改可能影響所有的線程。
7、子進(jìn)程不對(duì)任何其他子進(jìn)程施加控制,進(jìn)程的線程可以對(duì)同一進(jìn)程的其它線程施加控制。子進(jìn)程不能對(duì)父進(jìn)程施加控制,進(jìn)程中所有線程都可以對(duì)主線程施加控制。
相同點(diǎn):
進(jìn)程和線程都有ID/寄存器組、狀態(tài)和優(yōu)先權(quán)、信息塊,創(chuàng)建后都可更改自己的屬性,都可與父進(jìn)程共享資源、都不鞥直接訪問其他無關(guān)進(jìn)程或線程的資源。
網(wǎng)頁(yè)名稱:簡(jiǎn)單講解一下進(jìn)程與線程異同
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/djsidog.html


咨詢
建站咨詢
