下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、進(jìn)程同步算法:讀者寫者問題算法描述:設(shè)置一個(gè)標(biāo)記,如果寫者沒有處于寫的狀態(tài),則任何讀書都可以進(jìn)行讀操作,即支持N個(gè)讀者線程。^defineNULL0^defineRUN1#defineLENsizeof^stnictpcb)#iiiclude<stdio.h>#iiiclude<stimg.h>tvpedefstiuctpcb{ Ultid;/*進(jìn)程標(biāo)識*/chainaine[10];/*進(jìn)程名*/mtpnoiity;/*優(yōu)先數(shù)*/mtcputime;嚴(yán)已占用CPU的時(shí)間片數(shù)*/mtalltune;/*進(jìn)程所需的時(shí)間片數(shù)*/chaistatus;/*進(jìn)程狀態(tài)指針*/structpcb*next;};Voidmam()mtSTATUS=1;/*全局變量,一個(gè)鎖狀態(tài)*/if(STATUS!=O)/*創(chuàng)建讀者進(jìn)程可{stmctpcb*pcbcreat(void){stmctpcb*p;inti;fbr(i=l;i<4;i++)/*創(chuàng)建三個(gè)讀者進(jìn)程進(jìn)程*/{ p=(structpcb*)malloc(LEN);pruitfCmputthepcb%d:\n",i);scaiif("%d%s%d%d",&p->id,&p->name,&p->piiority,&p->alltime);輸入進(jìn)程的id號,名稱,優(yōu)先級和占用時(shí)間*/insert?); /*插入*/}}}Else
Pont(“抱歉,讀者正在進(jìn)行更新”);/*寫者進(jìn)程存在或創(chuàng)建寫者進(jìn)程*//*當(dāng)寫者進(jìn)程被殺死時(shí)或者不存在寫者進(jìn)程時(shí),STATUS要改為1*/}2.進(jìn)程調(diào)度算法先來先服務(wù)調(diào)度算法算法描述:用一個(gè)隊(duì)列式的數(shù)據(jù)結(jié)構(gòu)處理排隊(duì)問題,每一個(gè)排隊(duì)者占用一個(gè)進(jìn)程。#include<stdio.h>frdefineMAXLEN10^defineNULL0^defineRUN1#defineLENsizeof^structpcb)#iiiclude<stdio.h>#iiiclude<stimg.h>tvpedefstiuctpcb{mtid;charnaine[10];iiitpriority;iiit cputime;iiit alltiine;tvpedefstiuctpcb{mtid;charnaine[10];iiitpriority;iiit cputime;iiit alltiine;嚴(yán)進(jìn)程標(biāo)識*//*進(jìn)程名/*優(yōu)先數(shù)*//*已占用CPU的時(shí)間片數(shù)*/嚴(yán)進(jìn)程所需的時(shí)間片數(shù)5*7clwstatus; /*進(jìn)程狀態(tài)指針引stiuctpcb*next;};tvpedefintelementty^pe;tvpedefstmcttvpedefintelementty^pe;tvpedefstmct{elementtypeelement[MAXLEN]:iiitfiontjear;JSeQueue;SeQueueInitQueue_sqQ{SeQueueq;q.fiont=-l;q.reai--!;ieturn(q);嚴(yán)隊(duì)列的順序存儲結(jié)構(gòu)定義可/*存放隊(duì)列元素的數(shù)組*//*隊(duì)列頭、尾指針*//*建立一個(gè)空隊(duì)列q”mtGetFront_sq(SeQueue*q,elementtvpe*x)/*取隊(duì)頭元素,若隊(duì)列q非空,用*x返回其元素3V{if(q->fiont=q->rear)return(O); /*隊(duì)列空返回0*/else*x=q->element[(q->front)+1];ietuin(l);}}mtEnqueue_sq(SeQueue*q.elementtvpex)隊(duì)*/{if(q->ieai==NIAXLEN-1)retuin(O);q->reai++;q->element[q->rear]=x;ieturn(l);}hitEmpty_sq(SeQueue*q)空返回0*/{return(q->fiont=q->iear);}voidprmt(SeQueueq){Ulti;if(q.fiont!=q.ieai){priiitf(nOutputelementsofqueue:n);fbr(i=q.fiont+1;i<=q.iear;i++)printf(H%d*\q.element[i]);}elsepriiitf(nThequeueisempty!!!'1);/*入隊(duì)列操作,若隊(duì)列q未滿,將元素x入/*隊(duì)列滿返回0*//*判斷隊(duì)列q是否為空,空則返回1,非/*輸出隊(duì)列q元素*//*隊(duì)列非空,輸出隊(duì)列元素引main()嚴(yán)主程序*/SeQueuequeue;inti;/*建立空隊(duì)列/*建立空隊(duì)列queue*/queue=IiutQueue_sq();if(Empty_sq(&qii亡i?!=0)piiiitf(n\iiThequeueisempty!");elsepiiiitf(n\iiThequeueisnotempty!H);嚴(yán)判斷隊(duì)列queue是否為空可嚴(yán)入隊(duì)列嚴(yán)入隊(duì)列3個(gè)元素,也創(chuàng)建3個(gè)入隊(duì)/****** 創(chuàng)建入隊(duì)者進(jìn)程********/嚴(yán)入隊(duì)列3個(gè)元素后輸出隊(duì)列元素可printf(M,,jiAddmg3elementstoqueue:H);fbi(i=l;i<=3;i-H-)者進(jìn)程*/{scanfC%d=&y);Enqueue_sq(&qiiz】e、y);stmctpcb*pcbcreat(void);}print(queue);GetFront_sq(&qii亡u匕&z);printf(MElementofheadis:%d嚴(yán)取隊(duì)列頭部元素,送z*//*輸出隊(duì)列頭部元素z*/print(queue);print(queu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢舊電池及電池系統(tǒng)處置員操作競賽考核試卷含答案
- 環(huán)境監(jiān)測員安全培訓(xùn)競賽考核試卷含答案
- 液化天然氣儲運(yùn)工誠信水平考核試卷含答案
- 木質(zhì)家具制作工崗前技能競賽考核試卷含答案
- 漆器制作工崗前培訓(xùn)效果考核試卷含答案
- 飛機(jī)無線電雷達(dá)系統(tǒng)裝調(diào)工沖突解決競賽考核試卷含答案
- 狂犬病科普教學(xué)
- 2025年青海省西寧市中考語文真題卷含答案解析
- 個(gè)人近三年工作總結(jié)
- 工程項(xiàng)目生產(chǎn)經(jīng)理個(gè)人年度工作總結(jié)報(bào)告
- T/CECS 10220-2022便攜式丁烷氣灶及氣瓶
- 2024南海農(nóng)商銀行科技金融專業(yè)人才社會招聘筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 空調(diào)售后外包協(xié)議書
- 光伏防火培訓(xùn)課件
- 電視節(jié)目編導(dǎo)與制作(全套課件147P)
- 《碳排放管理體系培訓(xùn)課件》
- 2024年人教版八年級歷史上冊期末考試卷(附答案)
- 區(qū)間閉塞設(shè)備維護(hù)課件:表示燈電路識讀
- 壓縮空氣管道安裝工程施工組織設(shè)計(jì)方案
- 《計(jì)算機(jī)組成原理》周建敏主編課后習(xí)題答案
- 人教版二年級上冊數(shù)學(xué)全冊教案(新版教材)
評論
0/150
提交評論