新聞中心

        EEPW首頁 > 任務、進程和線程的不同

        任務、進程和線程的不同

        ——
        作者: 時間:2007-03-29 來源: 收藏
        三個詞中,(task)是最抽象的,是一個一般性的術語,指由軟件完成的一個活動。一個既可以是一個,也可以是一個。簡而言之,它指的是一系列共同達到某一目的的操作。例如,讀取數據并將數據放入內存中。這個可以作為一個來實現,也可以作為一個(或作為一個中斷任務)來實現。

          (process)常常被定義為程序的執行。可以把一個進程看成是一個獨立的程序,在內存中有其完備的數據空間和代碼空間。一個進程所擁有的數據和變量只屬于它自己。

          (tread)則是某一進程中一路單獨運行的程序。也就是說,線程存在于進程之中。一個進程由一個或多個線程構成,各線程共享相同的代碼和全局數據,但各有其自己的堆棧。由于堆棧是每個線程一個,所以局部變量對每一線程來說是私有的。由于所有線程共享同樣的代碼和全局數據,它們比進程更緊密,比單獨的進程間更趨向于相互作用,線程間的相互作用更容易些,因為它們本身就有某些供通信用的共享內存:進程的全局數據。

          一個進程和一個線程最顯著的區別是:線程有自己的全局數據。線程存在于進程中,因此一個進程的全局變量由所有的線程共享。由于線程共享同樣的系統區域,操作系統分配給一個進程的資源對該進程的所有線程都是可用的,正如全局數據可供所有線程使用一樣。

          在20世紀60年代初期,麻省理工學院的MULTICS操作系統中首先引入“進程”這個概念,IBM公司的CTSS/360系統中則使用“任務”這個術語。“線程”概念的出現就更晚了。



        關鍵詞: 進程 任務 線程

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 万载县| 甘泉县| 广丰县| 图片| 北票市| 汾阳市| 仁寿县| 运城市| 恩平市| 弥渡县| 静乐县| 九龙坡区| 城市| 托里县| 黄陵县| 沧源| 辽中县| 溧水县| 丰顺县| 兴国县| 邳州市| 柯坪县| 甘孜县| 沂南县| 沈阳市| 原平市| 揭西县| 牙克石市| 深水埗区| 盈江县| 泰来县| 巫溪县| 甘南县| 贺州市| 黄大仙区| 磐石市| 进贤县| 长寿区| 延长县| 军事| 敖汉旗|