




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
4.4 進程的相互制約關系 在多道程序的環(huán)境中,系統(tǒng)中的多個進程可以并發(fā)執(zhí)行,同時它們又要共享系統(tǒng)中的資源,這些資源有些是可共享使用的,如磁盤,有些是以獨占方式使用的,如打印機。由此將會引起一系列的矛盾,產生錯綜復雜的相互制約的關系。 產生這種錯綜復雜的相互制約關系的原因有二: 資源共享 進程合作進程間的關系 進程之間有兩種關系: 第一種是競爭關系,從而有進程的互斥(Mutual Exclusion)是解決進程間競爭關系的手段。 第二種是協(xié)作關系,某些進程為完成同一任務需要分工協(xié)作。進程的同步(Synchronization)是解決進程間協(xié)作關系的手段。進程間的關系 進程的互斥(Mutual Exclusion)是指若干個進程要使用同一共享資源時,任何時刻最多允許一個進程去使用,其它要使用該資源的進程必須等待,直到占有資源的進程釋放該資源。 臨界區(qū)管理可以解決進程互斥問題,后續(xù)課程將詳細介紹臨界區(qū)的解決方案。進程間的關系 進程的同步(Synchronization)是解決進程間協(xié)作關系的手段。指一個進程的執(zhí)行依賴于另一個進程的消息,當一個進程沒有得到來自于另一個進程的消息時則等待,直到消息到達才被喚醒。 不難看出,進程互斥關系是一種特殊的進程同步關系,即逐次使用互斥共享資源。進程間的關系 對于協(xié)作關系有如下例子: 設input 、process、和output三個進程分工協(xié)作完成讀入數(shù)據(jù)、加工處理和打印輸出任務,這是一種典型的協(xié)作關系。 操作系統(tǒng)要確保諸進程在執(zhí)行次序上協(xié)調一致: 沒有輸入完一塊數(shù)據(jù)之前不能加工處理 沒有加工處理完一塊數(shù)據(jù)之前不能打印輸出等等 每個進程都要接收到它進程完成一次處理的消息后,才能進行下一步工作。4.5.1 互斥的概念 引例: 宿舍固定電話的使用 打印機的使用 還有內存變量、指針、數(shù)組等等也是臨界資源。臨界資源說明 例1:兩個進程A、B共享一臺打印機 若不加以控制,兩個進程的輸出結果可能交織在一起,很難區(qū)分。 臨界資源說明 例2:兩個進程共享一個變量x 設:x代表某航班機座號,p1和p2兩個售票進程,售票工作是對變量x加1。 這兩個進程在一個處理機C上并發(fā)執(zhí)行,分別具有內部寄存器r1和r2 ,兩個進程共享一個變量x時,兩種可能的執(zhí)行次序: 說明 以前的課程也講到了與時間有關的錯誤,其實就是因為共享變量,這個共享的變量就是臨界資源。 如果不對臨界資源加以控制,那么就可能出現(xiàn)錯誤,這就是本節(jié)要解決的問題。什么是臨界資源 特點:當兩個進程公用一個變量時,它們必須順序地使用,一個進程對公用變量操作完畢后,另一個進程才能去訪問和修改這一變量。 一次僅允許一個進程使用的資源稱為臨界資源。 哪些臨界資源? 臨界資源: 物理設備,如輸入機、打印機、磁帶機等都具有這種性質。 軟件資源,如公用變量、數(shù)據(jù)、表格、隊列等也都具有這一特點。什么是臨界區(qū) 臨界區(qū):在每個進程中,訪問臨界資源的那段程序能夠從概念上分離出來,稱為臨界區(qū)或臨界段。 它就是進程中對公共變量(或存儲區(qū))進行審查與修改的程序段,稱為相對于該公共變量的臨界區(qū)。什么是臨界區(qū)什么是臨界區(qū)什么是互斥? 互斥:在操作系統(tǒng)中,當某一進程正在訪問某一存儲區(qū)域時,就不允許其他進程來讀出或者修改存儲區(qū)的內容,否則,就會發(fā)生后果無法估計的錯誤。 進程間的這種相互制約關系稱為互斥。進入臨界區(qū)的準則:進入臨界區(qū)的準則: (1)每次至多有一個進程處于臨界區(qū); (2)當有若干個進程欲進入臨界區(qū)時,應在有限的時間內使其進入; (3)進程在臨界區(qū)內僅逗留有限的時間。4.5.2 鎖和上鎖、開鎖操作 解決進程互斥的最簡單的辦法是加鎖。 什么是鎖用某假設變量w代表某種資源的狀態(tài),w稱為“鎖”。鎖位值: 為“0”表示資源可用 為1表示資源已被占用(不可用) 。 在系統(tǒng)中為每個臨界資源設置一個鎖位。4.5.2 鎖和上鎖、開鎖操作 當一個進程使用某個臨界資源之前必須完成下列操作: 1、考察鎖位的值(是0還是1); ; 2、若原來的值是為“0”,將鎖位置為“1” ,此為上鎖操作 (表示占用該資源); 3、若原來值是為“1”,(該資源已被別人占用),則不改變原來的值,循環(huán)檢測等待。 4、當某進程使用完資源后,將鎖位置為“0 ” ,稱為開鎖操作,此時別的等待進程一旦檢測到w的不為1了,則表示可以使用臨界資源了。4.5.2 鎖和上鎖、開鎖操作說明 在上述簡單的關鎖原語中,goto語句使得lock(w)原語的進程占用處理機而等待進入互斥段(稱為忙等待busy waiting)測試法,浪費CPU時間。 。 為此,可將上述上鎖原語和開鎖原語做進一步修改。 修改后的原語如下所示:改進的lock和unlock算法鎖和上鎖、開鎖操作 設臨界區(qū)的類名為w。為了保證每一次臨界區(qū)中只能有一個程序段被執(zhí)行,又設鎖定位keyw。keyw表示該鎖定位屬于類名為w的臨界區(qū)。 加鎖后的臨界區(qū)程序描述如下: lock(keyw)/上鎖 unlock(keyw) /開鎖 經(jīng)過鎖處理,任何時候都不可能有兩個及以上的進程進入臨界去。4.5.3 用上鎖原語和開鎖原語實現(xiàn)互 假設有兩個進程共享打 印機,兩個進程中使用 打印機的程序段為臨界 區(qū)。 為保證打印的正確,設 置打印機的鎖print, 其初值為“0”,表示打印機可用。4.5.3 用上鎖原語和開鎖原語實現(xiàn)互斥4.6.1 信號燈的概念 前面介紹的方法雖能保證互斥,可正確解決臨界區(qū)調度問題,但有明顯缺點: 對不能進入臨界區(qū)的進程,采用忙式等待(busy waiting)測試法,浪費CPU時間。 將測試能否進入臨界區(qū)的責任推給各個競爭的進程會削弱系統(tǒng)的可靠性,加重了用戶編程負擔。4.6.1 信號燈的概念 1965年荷蘭的計算機科學家Dijkstra提出了新的同步工具信號量和P、V操作。 他將交通管制中多種顏色的信號燈管理交通的方法引入操作系統(tǒng),讓兩個或多個進程通過信號量(Semaphore) 展開交互。 進程在某一特殊點上停止執(zhí)行直到得到一個對應的信號量,通過信號量這一設施,任何復雜的進程交互要求可得到滿足,這種特殊的變量就是信號量。4.6.1 信號燈的概念 信號量僅能由同步原語對其進行操作,原語是操作系統(tǒng)中執(zhí)行時不可中斷的過程、即原子操作(Atomic Action)。 Dijkstra發(fā)明了兩個同步原語:P操作和V操作(荷蘭語中“測試(Proberen)” 和“增量(Verhogen)” 的頭字母,此外還用的符號有:wait和signal;up和down;sleep和wakeup等。 本書中采用Dijkstra最早論文中使用的符號P和V。利用信號量和P、V操作既可以解決并發(fā)進程的競爭問題,又可以解決并發(fā)進程的協(xié)作問題。信號燈的分類 信號量按其用途可分為兩種: 公用信號量:聯(lián)系一組并發(fā)進程,相關的進程均可在此信號量上執(zhí)行P和V操作。初值常常為1,用于實現(xiàn)進程互斥。 私有信號量:聯(lián)系一組并發(fā)進程,僅允許此信號量擁有的進程執(zhí)行P操作,而其他相關進程可在其上施行V操作。初值常常為0或正整數(shù),多用于并發(fā)進程同步。信號燈的分類 信號量按其取值可分為兩種: 二元信號量:僅允許取值為0和1,主要用于解決進程互斥問題(非我即你,通常用一個布爾量來表示)。 一般信號量:允許取值為非負整數(shù),主要用于解決進程間的同步問題。4.6.1 信號燈的概念 信號燈的定義: 信號燈是一個確定的二元組(s,q),s 是一個具有非負初值的整型變量,q 是一個初始狀態(tài)為空的排隊站。 S代表資源的實體。在實際應用中應準確地說明s的意義和初值,每個信號燈都有一個隊列,其初始狀態(tài)為空。4.6.2 P、V操作 信號燈的值僅能由P、V操作來改變, 對信號燈的P操作記為:P(S),P操作是一個原子操作。 對信號燈的V操作記為:V(S), V操作是一個原子操作。 在實際操作系統(tǒng)中,一般情況下是由機器硬件提供P、V操作的指令,當然是原子操作,若機器不提供P、V操作的指令,則操作系統(tǒng)提供P、V操作原語。信號量值的物理意義 信號燈是整型變量。 變量值 0 時,表示綠燈,進程執(zhí)行。 變量值 0:其數(shù)值代表可用的資源數(shù)量 S=0:代表無資源可用,但也沒有等待的進程,即也沒有申請資源的進程 S0:其數(shù)值代表可用的資源數(shù)量 S=0:代表無資源可用,但也沒有等待的進程,即也沒有申請資源的進程 S=0,不能為負值多緩沖的生產者消費者問題 問題描述:若干進程通過有限的共享緩沖區(qū)交換數(shù)據(jù)。其中,“生產者”進程不斷寫入,而“消費者”進程不斷讀出;共享緩沖區(qū)共有N個;任何時刻只能有一個進程可對共享緩沖區(qū)進行操作。 即滿足如下條件:(1)消費者想接收數(shù)據(jù)時,有界緩沖區(qū)中至少有一個單元是滿的。(2)生產者想發(fā)送數(shù)據(jù)時,有界緩沖區(qū)中至少有一個單元是空的。 生產者消費者的例子 例1: 計算進程和打印進程 計算進程 cp不斷產生數(shù)據(jù),是生產者;打印進程 iop不斷打印數(shù)據(jù),是消費者。 例2: 通信問題 發(fā)消息進程 send不斷產生消息,是生產者; 收消息進程 receive不斷接收消息,是消費者多生產者-消費者問題圖示生產者與消費者 生產者:當有界緩沖區(qū)中無空位置時,要等待; 向有界緩沖區(qū)放入物品后,要發(fā)消息(V操作)。 消費者:當有界緩沖區(qū)中無物品時,要等待; 從有界緩沖區(qū)取出物品后,要發(fā)消息(P操作) 。多緩沖區(qū)的P-C問題之間的關系 一、同步關系: 對于生產者進程:產生一個數(shù)據(jù),當要送入緩沖區(qū)時,要檢查緩沖區(qū)是否已滿,若未滿,則可將數(shù)據(jù)送入緩沖區(qū),并通知消費者進程;否則,等待; 對于消費者進程:當它去取數(shù)據(jù)時,要看緩沖區(qū)中是否有數(shù)據(jù)可取,若有則取走一個數(shù)據(jù),并通知生產者進程,否則,等待。 這種相互等待,并互通信息就是典型的進程同步。多緩沖區(qū)的P-C問題之間的關系 二、互斥關系 緩沖區(qū)又是個臨界資源,在多個進程在生產產品時,它不允許在緩沖區(qū)的某一個單元同時存放產品 也不允許多個進程同時消費緩沖區(qū)的某一個單元產品,因此,還有個互斥的問題。多生產者-消費者問題的一般解答 信號燈設置 兩個同步信號燈empty:表示空緩沖區(qū)的數(shù)目,初值為有界緩沖區(qū)的大小n; full :表示滿緩沖區(qū)的數(shù)目,其初值為0; 一個互斥信號燈- mutex:互斥信號燈,初值為1。同步描述程序描述程序描述多生產者-消費者問題的flash動畫思考與說明 如果我們把生產者進程中的兩個P操作交換次序,即那么會有什么問題嗎?參見下圖的程序參考:主程序并行程序思考與說明 在這個問題中P操作的次序是很重要的,如果我們把生產者進程中的兩個P操作交換次序,即那么就會產生與時間有關的錯誤。 分析如下:分析說明 在某個時刻,消費者消費的比較快,把所有的產品消費完,有:empty=n,mutex=1,full=0 接著消費者進程運行到1處,使得mutex=0,運行到2處full=-10,消費者進程等待 在接著生產者進程運行到3處,由于生產了一個產品,故空位置-1,empty=n-1, 運行到4初,由于p(mutex)操作,mutex=mutex-1=-10表示有S個資源可用 S=0表示無資源可用 S0則| S |表示S等待隊列中的進程個數(shù) P(S):表示申請一個資源 V(S):表示釋放一個資源。信號量的初值應該大于等于0信號量及P、V操作討論(續(xù)1) 2) P.V操作必須成對出現(xiàn),有一個P操作就一定有一個V操作 當為互斥操作時,它們同處于同一進程 當為同步操作時,則不在同一進程中出現(xiàn) 如果P(S1)和P(S2)兩個操作在一起,那么P操作的順序至關重要,一個同步P操作與一個互斥P操作在一起時同步P操作在互斥P操作前 而兩個V操作無關緊要信號量及P、V操作討論(續(xù)2) 3)P.V操作的優(yōu)缺點 優(yōu)點: 簡單,而且表達能力強(用P.V操作可解決任何同步互斥問題) 缺點: 不夠安全;P.V操作使用不當會出現(xiàn)死鎖;遇到復雜同步互斥問題時實現(xiàn)復雜回顧:哲學家就餐問題問題描述: 有五個哲學家圍坐在一圓桌旁,桌中央有一盤通心粉,每人面前有一只空盤子,每兩人之間放一只筷子 每個哲學家的行為是思考,感到饑餓,然后吃通心粉 為了吃通心粉,每個哲學家必須拿到兩只筷子,并且每個人只能直接從自己的左邊或右邊去取筷子哲學家就餐問題解法(1)#define N 5 void philosopher (int i) while (true) 思考; 取forki; 取fork(i+1) % 5; 進食; 放forki; 放fork(i+1) % 5; 回顧:哲學家就餐問題為防止死鎖發(fā)生可采取的措施: 最多允許4個哲學家同時坐在桌子周圍 僅當一個哲學家左右兩邊的筷子都可用時,才允許他拿筷子() 給所有哲學家編號,奇數(shù)號的哲學家必須首先拿左邊的筷子,偶數(shù)號的哲學家則反之 為了避免死鎖,把哲學家分為三種狀態(tài),思考,饑餓,進食,并且一次拿到兩只筷子,否則不拿哲學家就餐問題解法(2)#define N 5#define THINKING 0#define HUNGRY 1#define EATING 2#typedef int semaphore;int stateN;semaphore mutex=1;/叉子操作要互斥的信號量semaphore sN;/每一個哲學家是否能吃為一個信號量statei= THINKING ;/初始化i=0-4si=0;/ 初始化i=0-4void test(int i) if (statei = HUNGRY) & (state (i-1) % 5!=EATING) & (state (i+1) % 5!=EATING) statei=EATING; V(si); void philosopher (int i) while (true) 思考; P(mutex); statei = HUNGRY; test(i); V(mutex); P(si); 拿左筷子; 拿右筷子; 進食; 放左筷子; 放右筷子; P(mutex) state i = THINKING; test(i-1 % 5); test(i+1 % 5); V(mutex); state i = THINKINGs i = 0經(jīng)典問題(1)讀者寫者問題 問題描述:有兩組并發(fā)進程: 讀者和寫者,共享一組數(shù)據(jù)區(qū) 要求: 允許多個讀者同時執(zhí)行讀操作 不允許讀者、寫者同時操作 不允許多個寫者同時操作第一類:讀者優(yōu)先如果讀者到: 1)無讀者、寫者,新讀者可以讀 2)有寫者等,但有其它讀者正在讀,則新讀者也可以讀 3)有寫者寫,新讀者等如果寫者到: 1)無讀者,新寫者可以寫 2)有讀者,新寫者等待 3)有其它寫者,新寫者等待第一類讀者寫者問題的解法讀者不固定情況:第一類讀者寫者問題的解法/初始化mutex1=1;W=1;count=0;讀者:Readeriwhile (true) P(mutex1); readcount +; if (readcount=1) P (w);/禁止寫 V(mutex1); 讀 P(mutex1); readcount -; if (readcount=0) V(w);/可以允許寫 V(mutex1);寫者:Writej while (true) P(w); 寫 V(w); 實例訓練 有N個讀者和兩個編輯同時處理一篇文章。 對于讀操作是可以同時進行的,若有讀者正在讀這篇文章,編輯就不能工作; 若編輯正在處理這篇文章,讀者就不能作讀操作。 編輯與編輯的工作也是互斥的,試用信號燈及P、V操作寫出讀者與編輯之間協(xié)同工作的程序描述。說明 讀者寫者問題,它為數(shù)據(jù)庫訪問建立了一個模型。例如,設想一個飛機定票系統(tǒng),其中有許多競爭的進程試圖讀寫其中的數(shù)據(jù)。說明 在讀者優(yōu)先的進程中:現(xiàn)在假設一個寫者到來,由于寫操作是排他的,所以它不能訪問數(shù)據(jù)庫,而是被掛起。 隨后其他的讀者到來,這樣只要有一個讀者活躍,隨后而來的讀者都被允許訪問數(shù)據(jù)庫。這樣的結果是只要有讀者陸續(xù)到來,它們一來就被允許進入,而寫者將一直被掛起直到?jīng)]有一個讀者為止。 假如每2秒鐘來一個讀者,而其操作時間為5秒鐘,則寫者將永遠不能訪問數(shù)據(jù)庫,或者我們說寫者發(fā)生了饑餓現(xiàn)象。 思考 思考題:請大家試著寫出寫者優(yōu)先的解法,并且考慮一下,能不能設計出一種算法使得無論對讀者還是寫者都是公平的,不會存在任何一方可能的饑餓現(xiàn)象。 寫者優(yōu)先(第二類讀寫/者問題) 寫者優(yōu)先: 條件: 1)多個讀者可以同時進行讀 2)寫者必須互斥(只允許一個寫者寫,也不能讀者寫者同時進行) 3)寫者優(yōu)先于讀者(一旦有寫者,則后續(xù)讀者必須等待沒有進入計數(shù)的進程,喚醒時優(yōu)先考慮寫者)解1 讀者數(shù)量固定 如果讀者數(shù)是固定的,我們可采用下面的算法: rwmutex:用于寫者與其他讀者/寫者互斥的訪問共享數(shù)據(jù) rmutex: 設該信號量初始值設為10,表示最多允許10個讀者進程同時進行讀操作寫者優(yōu)先寫者優(yōu)先解2 讀者數(shù)不固定 如果讀者數(shù)不固定,采用下面的算法: 設置三個互斥信號量: rwmutex 用于寫者與其他讀者/寫者互斥的訪問共享數(shù)據(jù) rmutex 用于讀者互斥的訪問讀者計數(shù)器readcount nrmutex 用于寫者等待已進入讀者退出,所有讀者退出前互斥寫操作4.8 進程通信 并發(fā)進程之間的交往本質上是互相交換信息。有些情況下進程之間交換的信息量很少,例如僅僅交換某個狀態(tài)信息。 有些情況下進程之間交換大批數(shù)據(jù),例如傳送一批信息或整個文件。進程之間互相交換信息的工作稱之為進程通信IPC(InterProcess Communication)。4.8.1 概述P.V操作實現(xiàn)的是進程之間的低級通訊,所以P.V為低級通訊原語。它只能傳遞簡單的信號,不能傳遞交換大量信息如果要在進程間傳遞大量信息則要用Send / Receive原語(高級通訊原語)進程通信的方式1-共享內存共享內存: 相互通信的進程間設有公共內存,一組進程向該公共內存中寫,另一組進程從公共內存中讀,通過這種方式實現(xiàn)兩組進程間的信息交換。如圖所示:共享內存 內存中開辟一個共享存儲區(qū),諸進程通過該區(qū)實現(xiàn)通信,這是進程通信中最快的方法。進程通信的方式2-消息傳遞 有時進程間可能需要交換更多的信息,例如,一個輸入輸出操作請求,要求把數(shù)據(jù)從一個進程傳送給另一個進程,這種大量的信息傳遞可使用一種高級通信方式消息傳遞(message passing)來實現(xiàn)。 由于操作系統(tǒng)隱蔽了許多實現(xiàn)細節(jié),通過消息傳遞機制通信,能簡化程序編制的復雜性,方便易用,得到了廣泛應用。進程通信的方式2-消息傳遞 消息傳遞機制至少需要提供兩條原語send和receive,前者向一個給定的目標發(fā)送一個消息,后者則從一個給定的源接受一條消息。 如果沒有消息可用,則接收者可能阻塞直到一條消息到達,或者也可以立即返回,并帶回一個錯誤碼。消息傳遞方式消息傳遞: 系統(tǒng)為進程提供了兩個高級通訊原語send和receive send:當要進行消息傳遞時執(zhí)行 receive:當接收者要接收消息時執(zhí)行消息傳遞的方式 消息傳遞系統(tǒng)的變體很多,常用的有直接通信(消息緩沖區(qū))方式和間接通信(信箱)方式 Unix的pipeline和socket機制屬于一種信箱方式的變體。下圖是消息傳遞機制通信模型。消息傳遞模式:消息傳遞模式分兩大類:(a)消息緩沖(直接通信 ) (b)信箱通信(間接通信)(a)消息緩沖(直接通信 ) 在消息緩沖方式下,在內存中開設緩沖區(qū),發(fā)送進程將消息送入緩沖區(qū),接收進程接收傳遞來的緩沖區(qū)。 企圖發(fā)送或接收消息的每個進程必須指出信件發(fā)給誰或從誰那里接收消息,可用send原語和receive原語為實現(xiàn)進程之間的通信,這兩個原語定義如下: send(P,消息):把一個消息發(fā)送給進程P receive(Q,消息):從進程Q接收一個消息(a)消息緩沖(直接通信 ) 這樣,進程P和Q通過執(zhí)行這兩個操作而自動建立了一種聯(lián)結,并且這一種聯(lián)結僅僅發(fā)生在這一對進程之間。 消息可以有固定長度或可變長度兩種: 固定長度便于物理實現(xiàn),但使程序設計增加困難; 而消息長度可變使程序設計變得簡單,但使物理實現(xiàn)復雜化。(b)信箱通信(間接通信) 采用信箱通信(間接通信)方式時,進程間發(fā)送或接收消息通過一個信箱來進行,消息可以被理解成信件,每個信箱有一個唯一的標識符。 當兩個以上的進程有一個共享的信箱時,它們就能進行通信。(b)信箱通信(間接通信) 一個進程也可以分別與多個進程共享多個不同的信箱,這樣,一個進程可以同時和多個進程進行通信。在間接通信方式“發(fā)送”和“接收”原語的形式如下: send(A,信件):把一封信件(消息)傳送到信箱A。 receive(A,信件):從信箱A接收一封信件(消息)。(b)信箱通信 信箱是存放信件的存儲區(qū)域,每個信箱可以分成信箱特征和信箱體兩部分: 信箱特征指出信箱容量、信件格式、指針等; 信箱體用來存放信件,信箱體分成若干個區(qū),每個區(qū)可容納一封信。 信箱使用規(guī)則 若發(fā)送信件時信箱已滿,則發(fā)送進程被置為“等信箱”狀態(tài),直到信箱有空時才被釋放 若取信件時信箱中無信,則接收進程被置為“等信件”狀態(tài),直到有信件時才被釋放4.9 線程 1. 什么是線程(thread)-有時稱輕量級進程(lightweight process LWP),是一個CPU調度單位,是進程中的一個執(zhí)行路徑。 它由線程ID,程序計數(shù)器、寄存器集合和堆棧組成。 它與同屬于一個進程的其它線程共享其代碼段、數(shù)據(jù)段和其它操作系統(tǒng)的資源(如打開文件和信號)Single and Multithreaded ProcessesSingle Threaded and Multithreaded ModelsCombinations of Threads and Processes4.9 線程 線程可以這樣來描述: 進程中的一條執(zhí)行路徑; 它有自己私用的堆棧和處理機執(zhí)行環(huán)境 它與父進程共享分配給父進程的主存; 它是單個進程所創(chuàng)建的許多個同時存在的線程中的一個。4.9 線程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年天津市安定醫(yī)院招聘筆試真題
- 法學概論的社會責任感與試題及答案結合探討
- 調整服務流程以滿足客戶需求計劃
- 2024年曲靖市檢驗檢測認證院招聘筆試真題
- 2024年安徽省氣象部門事業(yè)單位招聘筆試真題
- 藝術節(jié)與才藝展示活動計劃
- 企業(yè)決策中的風險管理與戰(zhàn)略評估結合試題及答案
- 2025年軟考設計師最強試題及答案指導
- 重視實踐經(jīng)驗的2024年高考作文試題及答案
- 材料力學與智能材料健康重點基礎知識點
- 供應過程的核算說課市公開課金獎市賽課一等獎課件
- 《有趣的推理》課件公開課
- 2023年海南省中考英語試題
- 工作單位接收函
- 智慧海南總體方案(2020-2025年)
- 研究生英語綜合教程上-課文 翻譯
- 中國聯(lián)通cBSS系統(tǒng)使用培訓-第一部分
- 施工進度網(wǎng)絡圖、施工進度橫道圖模板大全
- CRCC認證目錄
- 因式分解—完全平方公式
- 2020年精品收藏微型企業(yè)創(chuàng)業(yè)扶持申請書全套表格
評論
0/150
提交評論