Calvin's Tech Space

          成于堅(jiān)忍,毀于浮躁

             :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理


              線程的引入:例如,有一個(gè)Web服務(wù)器要進(jìn)程的方式并發(fā)地處理來自不同用戶的網(wǎng)頁訪問請(qǐng)求的話,可以創(chuàng)建父進(jìn)程和多個(gè)子進(jìn)程的方式來進(jìn)行處理,但是創(chuàng)建一個(gè)進(jìn)程要花費(fèi)較大的系統(tǒng)開銷和占用較多的資源。除外,這些不同的用戶子進(jìn)程在執(zhí)行的時(shí)候涉及到進(jìn)程上下文切換,上下文切換是一個(gè)復(fù)雜的過程。所以,為了減少進(jìn)程切換和創(chuàng)建的開銷,提高執(zhí)行效率和節(jié)省資源,人們?cè)诓僮飨到y(tǒng)中引入了"線程(thread)"的概念。
                進(jìn)程的作用和定義:進(jìn)程是為了提高CPU的執(zhí)行效率,減少因?yàn)槌绦虻却龓淼腃PU空轉(zhuǎn)以及其他計(jì)算機(jī)軟硬件資源的浪費(fèi)而提出來的。進(jìn)程是為了完成用戶任務(wù)所需要的程序的一次執(zhí)行過程和為其分配資源的一個(gè)基本單位,是一個(gè)具有獨(dú)立功能的程序段對(duì)某個(gè)數(shù)據(jù)集的一次執(zhí)行活動(dòng)。

                線程和進(jìn)程的區(qū)別:
                1、線程是進(jìn)程的一部分,所以線程有的時(shí)候被稱為是輕權(quán)進(jìn)程或者輕量級(jí)進(jìn)程。
                2、一個(gè)沒有線程的進(jìn)程是可以被看作單線程的,如果一個(gè)進(jìn)程內(nèi)擁有多個(gè)進(jìn)程,進(jìn)程的執(zhí)行過程不是一條線(線程)的,而是多條線(線程)共同完成的。
                3、系統(tǒng)在運(yùn)行的時(shí)候會(huì)為每個(gè)進(jìn)程分配不同的內(nèi)存區(qū)域,但是不會(huì)為線程分配內(nèi)存(線程所使用的資源是它所屬的進(jìn)程的資源),線程組只能共享資源。那就是說,出了CPU之外(線程在運(yùn)行的時(shí)候要占用CPU資源),計(jì)算機(jī)內(nèi)部的軟硬件資源的分配與線程無關(guān),線程只能共享它所屬進(jìn)程的資源。
                4、與進(jìn)程的控制表PCB相似,線程也有自己的控制表TCB,但是TCB中所保存的線程狀態(tài)比PCB表中少多了。
                5、進(jìn)程是系統(tǒng)所有資源分配時(shí)候的一個(gè)基本單位,擁有一個(gè)完整的虛擬空間地址,并不依賴線程而獨(dú)立存在。
                進(jìn)程與程序的區(qū)別:
                程序是一組指令的集合,它是靜態(tài)的實(shí)體,沒有執(zhí)行的含義。而進(jìn)程是一個(gè)動(dòng)態(tài)的實(shí)體,有自己的生命周期。一般說來,一個(gè)進(jìn)程肯定與一個(gè)程序相對(duì)應(yīng),并且只有一個(gè),但是一個(gè)程序可以有多個(gè)進(jìn)程,或者一個(gè)進(jìn)程都沒有。除此之外,進(jìn)程還有并發(fā)性和交往性。簡單地說,進(jìn)程是程序的一部分,程序運(yùn)行的時(shí)候會(huì)產(chǎn)生進(jìn)程。
                總結(jié):
                線程是進(jìn)程的一部分,進(jìn)程是程序的一部分。

          題:http://zhidao.baidu.com/question/42875356.html?fr=qrl
          http://jsjedu.hxu.edu.cn/os/zy/fy1/xt2.htm
          http://www1.nttvu.edu.cn/ntddnew/classweb/article.asp?classid=46&id=416

          轉(zhuǎn)自 http://www.javaeye.com/topic/271229

          posted on 2009-09-10 20:41 calvin 閱讀(215) 評(píng)論(0)  編輯  收藏 所屬分類: 其他
          主站蜘蛛池模板: 象州县| 朝阳市| 林芝县| 汶上县| 黄石市| 武胜县| 兴安盟| 普兰店市| 开阳县| 巴青县| 高陵县| 河西区| 台北县| 昔阳县| 任丘市| 密云县| 金塔县| 东兴市| 开封县| 宿迁市| 荃湾区| 文昌市| 嘉祥县| 平利县| 望城县| 航空| 伽师县| 分宜县| 五峰| 武汉市| 汉中市| 淳安县| 桑植县| 西和县| 泰兴市| 绩溪县| 汕头市| 桃江县| 米易县| 邵阳市| 湖南省|