




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
線程2學習目標知識目標掌握線程的概念掌握進程和線程的區(qū)別01能力目標能夠準確判斷線程的狀態(tài)與運行原理023基本介紹一般來說,我們把正在計算機中執(zhí)行的程序叫做進程(Process)。所謂線程(Thread),是進程中某個單一順序的控制流。也被稱為輕量進程(lightweightprocesses)。計算機科學術語,指運行中的程序的調度單位。新興的操作系統(tǒng),大多采用多線程的概念,把線程視為基本執(zhí)行單位。線程也是Java中的相當重要的組成部分之一。甚至最簡單的Applet也是由多個線程來完成的。在Java中,任何一個Applet的paint和update方法都是由AWT(AbstractWindowToolkit)繪圖與事件處理線程調用的。4線程有兩個基本類型:用戶級線程:管理過程全部由用戶程序完成,操作系統(tǒng)內核心只對進程進行管理。系統(tǒng)級線程(核心級線程):由操作系統(tǒng)內核進行管理。操作系統(tǒng)內核給應用程序提供相應的系統(tǒng)調用和應用程序接口API,以使用戶程序可以創(chuàng)建、執(zhí)行、撤消線程。線程的分類5在多線程OS中,通常是在一個進程中包括多個線程,每個線程都是作為利用CPU的基本單位,是花費最小開銷的實體。線程具有以下屬性。1、輕型實體線程中的實體基本上不擁有系統(tǒng)資源,只是有一點必不可少的、能保證獨立運行的資源,比如,在每個線程中都應具有一個用于控制線程運行的線程控制塊TCB,用于指示被執(zhí)行指令序列的程序計數(shù)器、保留局部變量、少數(shù)狀態(tài)參數(shù)和返回地址等的一組寄存器和堆棧。2、獨立調度和分派的基本單位。在多線程OS中,線程是能獨立運行的基本單位,因而也是獨立調度和分派的基本單位。由于線程很“輕”,故線程的切換非常迅速且開銷小。線程的屬性63、可并發(fā)執(zhí)行在一個進程中的多個線程之間,可以并發(fā)執(zhí)行,甚至允許在一個進程中所有線程都能并發(fā)執(zhí)行;同樣,不同進程中的線程也能并發(fā)執(zhí)行。4、共享進程資源在同一進程中的各個線程,都可以共享該進程所擁有的資源,這首先表現(xiàn)在:所有線程都具有相同的地址空間(進程的地址空間),這意味著,線程可以訪問該地址空間的每一個虛地址;此外,還可以訪問進程所擁有的已打開文件、定時器、信號量機構等。5、一個線程可以創(chuàng)建和撤消另一個線程,同一進程中的多個線程之間可以并發(fā)執(zhí)行。由于線程之間的相互制約,致使線程在運行中呈現(xiàn)出間斷性。線程也有就緒、阻塞和運行三種基本狀態(tài)。每一個程序都至少有一個線程,若程序只有一個線程,那就是程序本身。線程的屬性有線程進入了就緒狀態(tài),需要有線程調度程序來決定何時執(zhí)行,根據(jù)優(yōu)先級來調度。7線程和進程的區(qū)別在于,子進程和父進程有不同的代碼和數(shù)據(jù)空間,而多個線程則共享數(shù)據(jù)空間,每個線程有自己的執(zhí)行堆棧和程序計數(shù)器為其執(zhí)行上下文。多線程主要是為了節(jié)約CPU時間,發(fā)揮利用,根據(jù)具體情況而定。線程的運行中需要使用計算機的內存資源和CPU。通常在一個進程中可以包含若干個線程,它們可以利用進程所擁有的資源。在引入線程的操作系統(tǒng)中,通常都是把進程作為分配資源的基本單位,而把線程作為獨立運行和獨立調度的基本單位。由于線程比進程更小,基本上不擁有系統(tǒng)資源,故對它的調度所付出的開銷就會小得多,能更高效的提高系統(tǒng)內多個程序間并發(fā)執(zhí)行的程度,從而顯著提高系統(tǒng)資源的利用率和吞吐量。因而近年來推出的通用操作系統(tǒng)都引入了線程,以便進一步提高系統(tǒng)的并發(fā)性,并把它視為現(xiàn)代操作系統(tǒng)的一個重要指標。進程與線程8線程與進程的區(qū)別可以歸納為以下幾點:1、地址空間和其它資源(如打開文件):進程間相互獨立,同一進程的各線程間共享。某進程內的線程在其它進程不可見。2、通信:進程間通信IPC,線程間可以直接讀寫進程數(shù)據(jù)段(如全局變量)來進行通信——需要進程同步和互斥手段的輔助,以保證數(shù)據(jù)的一致性。3、調度和切換:線程上下文切換比進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年拉薩貨運從業(yè)資格證考試試題及答案解析
- 保障性合同范本
- 區(qū)域總經理合同范本
- 醫(yī)療就業(yè)合同范本
- 包食堂合同范本
- 促銷活動場地出租合同范本
- 農村電商合同范本
- 利用合同范本
- 前廳接待勞務合同范本
- 5人合作合同范本
- 工程項目部安全生產治本攻堅三年行動實施方案
- 制藥工程 專業(yè)英語 Unit 1(課堂PPT)
- 2022春蘇教版五年級下冊科學全冊單元課件全套
- 小學期末班級頒獎典禮動態(tài)PPT模板
- 液堿生產工序及生產流程敘述
- 圖解調音臺使用說明(共14頁)
- 人民軍隊性質宗旨和優(yōu)良傳統(tǒng)教育課件教案
- 心理抗壓能力測試例題
- 操作系統(tǒng)試題
- 電子秤校驗記錄表
- (完整word)外研版八年級下冊英語課文電子版
評論
0/150
提交評論