<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    進程和程序區(qū)別和聯(lián)系表現(xiàn)在以下方面:
    1)程序只是一組指令的有序集合,它本身沒有任何運行的含義,它只是
     一個靜態(tài)的實體。而進程則不同,它是程序在某個數(shù)據(jù)集上的執(zhí)行。
     進程是一個動態(tài)的實體,它有自己的生命周期。它因創(chuàng)建而產(chǎn)生,因
     調(diào)度而運行,因等待資源或事件而被處于等待狀態(tài),因完成任務(wù)而被
     撤消。反映了一個程序在一定的數(shù)據(jù)集上運行的全部動態(tài)過程。
    2)進程和程序并不是一一對應(yīng)的,一個程序執(zhí)行在不同的數(shù)據(jù)集上就成
     為不同的進程,可以用進程控制塊來唯一地標(biāo)識每個進程。而這一點
     正是程序無法做到的,由于程序沒有和數(shù)據(jù)產(chǎn)生直接的聯(lián)系,既使是
     執(zhí)行不同的數(shù)據(jù)的程序,他們的指令的集合依然是一樣的,所以無法
     唯一地標(biāo)識出這些運行于不同數(shù)據(jù)集上的程序。一般來說,一個進程
     肯定有一個與之對應(yīng)的程序,而且只有一個。而一個程序有可能沒有
     與之對應(yīng)的進程(因為它沒有執(zhí)行),也有可能有多個進程與之對應(yīng)(運
     行在幾個不同的數(shù)據(jù)集上)。
    3)進程還具有并發(fā)性和交往性,這也與程序的封閉性不同。
    ----------------------------------------------------------------------------------------------
    
    進程和線程都是由操作系統(tǒng)所體會的程序運行的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進程和線程的區(qū)別在于:
    
    簡而言之,一個程序至少有一個進程,一個進程至少有一個線程. 
    線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
    另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。
    線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。
    從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。
    
    進程是具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位.
    線程是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源(如程序計數(shù)器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.
    一個線程可以創(chuàng)建和撤銷另一個線程;同一個進程中的多個線程之間可以并發(fā)執(zhí)行.
    
    ----------------------------------------------------------------------------------------------
    
    進程和線程的區(qū)別 
     
    說法一:進程是具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位.
    
    線程是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源(如程序計數(shù)器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.
    
    一個線程可以創(chuàng)建和撤銷另一個線程;同一個進程中的多個線程之間可以并發(fā)執(zhí)行
    
     
    
    說法二:進程和線程都是由操作系統(tǒng)所體會的程序運行的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進程和線程的區(qū)別在于:
    
    簡而言之,一個程序至少有一個進程,一個進程至少有一個線程. 
    
    線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
    
    另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。
    
    線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。
    
    從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。
    
     
    
    說法三:多線程共存于應(yīng)用程序中是現(xiàn)代操作系統(tǒng)中的基本特征和重要標(biāo)志。用過UNIX操作系統(tǒng)的讀者知道進程,在UNIX操作系統(tǒng)中,每個應(yīng)用程序的執(zhí)行都在操作系統(tǒng)內(nèi)核中登記一個進程標(biāo)志,操作系統(tǒng)根據(jù)分配的標(biāo)志對應(yīng)用程序的執(zhí)行進行調(diào)度和系統(tǒng)資源分配,但進程和線程有什么區(qū)別呢?
    
    進程和線程都是由操作系統(tǒng)所體會的程序運行的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進程和線程的區(qū)別在于:
    
    線程的劃分尺度小于進程,使得多線程程序的并發(fā)性搞。
    
    另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。
    
    線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。
    
    從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。
    
    進程(Process)是最初定義在Unix等多用戶、多任務(wù)操作系統(tǒng)環(huán)境下用于表示應(yīng)用程序在內(nèi)存環(huán)境中基本執(zhí)行單元的概念。以Unix操作系統(tǒng)為例,進程是Unix操作系統(tǒng)環(huán)境中的基本成分、是系統(tǒng)資源分配的基本單位。Unix操作系統(tǒng)中完成的幾乎所有用戶管理和資源分配等工作都是通過操作系統(tǒng)對應(yīng)用程序進程的控制來實現(xiàn)的。 
    
    C、C++、Java等語言編寫的源程序經(jīng)相應(yīng)的編譯器編譯成可執(zhí)行文件后,提交給計算機處理器運行。這時,處在可執(zhí)行狀態(tài)中的應(yīng)用程序稱為進程。從用戶角度來看,進程是應(yīng)用程序的一個執(zhí)行過程。從操作系統(tǒng)核心角度來看,進程代表的是操作系統(tǒng)分配的內(nèi)存、CPU時間片等資源的基本單位,是為正在運行的程序提供的運行環(huán)境。進程與應(yīng)用程序的區(qū)別在于應(yīng)用程序作為一個靜態(tài)文件存儲在計算機系統(tǒng)的硬盤等存儲空間中,而進程則是處于動態(tài)條件下由操作系統(tǒng)維護的系統(tǒng)資源管理實體。多任務(wù)環(huán)境下應(yīng)用程序進程的主要特點包括: 
    
    ●進程在執(zhí)行過程中有內(nèi)存單元的初始入口點,并且進程存活過程中始終擁有獨立的內(nèi)存地址空間; 
    
    ●進程的生存期狀態(tài)包括創(chuàng)建、就緒、運行、阻塞和死亡等類型; 
    
    ●從應(yīng)用程序進程在執(zhí)行過程中向CPU發(fā)出的運行指令形式不同,可以將進程的狀態(tài)分為用戶態(tài)和核心態(tài)。處于用戶態(tài)下的進程執(zhí)行的是應(yīng)用程序指令、處于核心態(tài)下的應(yīng)用程序進程執(zhí)行的是操作系統(tǒng)指令。 
    
    在Unix操作系統(tǒng)啟動過程中,系統(tǒng)自動創(chuàng)建swapper、init等系統(tǒng)進程,用于管理內(nèi)存資源以及對用戶進程進行調(diào)度等。在Unix環(huán)境下無論是由操作系統(tǒng)創(chuàng)建的進程還要由應(yīng)用程序執(zhí)行創(chuàng)建的進程,均擁有唯一的進程標(biāo)識(PID)。 
    
    說法四:應(yīng)用程序在執(zhí)行過程中存在一個內(nèi)存空間的初始入口點地址、一個程序執(zhí)行過程中的代碼執(zhí)行序列以及用于標(biāo)識進程結(jié)束的內(nèi)存出口點地址,在進程執(zhí)行過程中的每一時間點均有唯一的處理器指令與內(nèi)存單元地址相對應(yīng)。 
    
    Java語言中定義的線程(Thread)同樣包括一個內(nèi)存入口點地址、一個出口點地址以及能夠順序執(zhí)行的代碼序列。但是進程與線程的重要區(qū)別在于線程不能夠單獨執(zhí)行,它必須運行在處于活動狀態(tài)的應(yīng)用程序進程中,因此可以定義線程是程序內(nèi)部的具有并發(fā)性的順序代碼流。 
    
    Unix操作系統(tǒng)和Microsoft Windows操作系統(tǒng)支持多用戶、多進程的并發(fā)執(zhí)行,而Java語言支持應(yīng)用程序進程內(nèi)部的多個執(zhí)行線程的并發(fā)執(zhí)行。多線程的意義在于一個應(yīng)用程序的多個邏輯單元可以并發(fā)地執(zhí)行。但是多線程并不意味著多個用戶進程在執(zhí)行,操作系統(tǒng)也不把每個線程作為獨立的進程來分配獨立的系統(tǒng)資源。進程可以創(chuàng)建其子進程,子進程與父進程擁有不同的可執(zhí)行代碼和數(shù)據(jù)內(nèi)存空間。而在用于代表應(yīng)用程序的進程中多個線程共享數(shù)據(jù)內(nèi)存空間,但保持每個線程擁有獨立的執(zhí)行堆棧和程序執(zhí)行上下文(Context)。 
    
    基于上述區(qū)別,線程也可以稱為輕型進程 (Light Weight Process,LWP)。不同線程間允許任務(wù)協(xié)作和數(shù)據(jù)交換,使得在計算機系統(tǒng)資源消耗等方面非常廉價。 
    
    線程需要操作系統(tǒng)的支持,不是所有類型的計算機都支持多線程應(yīng)用程序。Java程序設(shè)計語言將線程支持與語言運行環(huán)境結(jié)合在一起,提供了多任務(wù)并發(fā)執(zhí)行的能力。這就好比一個人在處理家務(wù)的過程中,將衣服放到洗衣機中自動洗滌后將大米放在電飯鍋里,然后開始做菜。等菜做好了,飯熟了同時衣服也洗好了。 
    
    需要注意的是:在應(yīng)用程序中使用多線程不會增加 CPU 的數(shù)據(jù)處理能力。只有在多CPU 的計算機或者在網(wǎng)絡(luò)計算體系結(jié)構(gòu)下,將Java程序劃分為多個并發(fā)執(zhí)行線程后,同時啟動多個線程運行,使不同的線程運行在基于不同處理器的Java虛擬機中,才能提高應(yīng)用程序的執(zhí)行效率。 
    posted on 2012-05-22 15:19 abin 閱讀(2322) 評論(0)  編輯  收藏 所屬分類: JavaMultithread
    主站蜘蛛池模板: 亚洲欧洲日韩在线电影| 国产成人aaa在线视频免费观看| GOGOGO免费观看国语| 真人无码作爱免费视频| 亚洲av成人一区二区三区观看在线 | 在线天堂免费观看.WWW| 在线观看H网址免费入口| 国产一卡二卡3卡四卡免费| 日本免费网址大全在线观看| 久九九精品免费视频| 成人免费视频试看120秒| 亚洲人成网站18禁止| 亚洲日韩在线中文字幕综合 | 亚洲人精品亚洲人成在线| 无码人妻精品中文字幕免费| 国产一区二区三区免费| 免费无码又爽又刺激高潮视频| 99re这里有免费视频精品| 97热久久免费频精品99| 毛片在线看免费版| 国产在线观看免费不卡| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲一区日韩高清中文字幕亚洲 | 99在线精品视频观看免费| 成年私人影院免费视频网站| 国产精品视_精品国产免费| 亚洲AV无码一区二区三区国产 | 在线免费观看污网站| 四虎永久在线精品视频免费观看| 亚洲国产成人影院播放| 情人伊人久久综合亚洲| 精品日韩亚洲AV无码一区二区三区| 亚洲免费二区三区| 欧美亚洲精品一区二区| 国产精品黄页免费高清在线观看| 精品视频在线免费观看| 国产精品久久免费| 国产一级特黄高清免费大片| 亚洲国产一成人久久精品| 亚洲午夜精品国产电影在线观看| 亚洲av综合日韩|