版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)實驗報告試驗一:進(jìn)程創(chuàng)建與撤銷計科112康巖巖2011008142202013/4/10計科康巖巖計科康巖巖201100814220 主窗體(包含所有操作):usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Threading;usingOsTest.os.boject;using
2、OsTest.os.form;usingSystem.Collections;namespaceOsTestpublicpartialclassMainForm:FormpublicMainForm()InitializeComponent();privatevoidbutton2_Click(objectsender,EventArgse)if(this.listView1.SelectedItems.Count1)return;killProcess(this.selectId);privatevoidkillProcess(intid)根據(jù)id從進(jìn)程信息表中得到進(jìn)程信息Hashtable
3、h=ThreadTableid;Threadt=(Thread)hthread;得到id對應(yīng)的線程tryif(t!=null&t.IsAlive)t.Abort();/停止線程catch(Exceptione)MessageBox.Show(e.Message);ThreadTable.Remove(id);/信息表中刪除線程數(shù)據(jù)romoveListViewItem(id);/界面列表中刪除數(shù)據(jù)this.ProcessCount=ThreadTable.Count;/更新進(jìn)程數(shù)intprocessCount=0;publicintProcessCountgetreturnprocessCoun
4、t;setprocessCount=value;processCount;this.toolStripStatusLabel1.Text=進(jìn)程數(shù):+processCount;/III根據(jù)進(jìn)程id刪除列表中相對于的進(jìn)程信息/IIIvparamname=id進(jìn)程idv/paramprivatevoidromoveListViewItem(intid)鎖定列表控件,避免多個線程同時操作lock(this.listView1)foreach(ListViewItemliinthis.listView1.Items)intliId=int.Parse(li.SubItems1.Text.ToString
5、();if(liId!=id)continue;li.Remove();return;/用于存放進(jìn)程數(shù)據(jù)的表/privateDictionaryThreadTable=newDictionary();privatevoidcreateProcess(PCBpcb)/啟動的線程函數(shù)為runParameterizedThreadStartParStart=newParameterizedThreadStart(run);Threadthread=newThread(ParStart);/設(shè)置pcb的起始時間為當(dāng)前時間pcb.StartTime=DateTime.Now.ToFileTime();H
6、ashtablehash=newHashtable();/將線程信息和pcb信息存入hash表hash.Add(thread,thread);hash.Add(pcb,pcb);/將hash表存入記錄線程狀態(tài)的總表this.ThreadTable.Add(pcb.PcbId,hash);thread.Start(pcb);/啟動線程privatedelegatevoidGetNowFileTimeCallBack(intpcbId,longnow);/更新顯示進(jìn)程列表的窗口/privatevoidupdatePcbListTime(intpcbId,longnow)foreach(KeyVal
7、uePairpinThreadTable)PCBpcb=(PCB)p.Valuepcb;if(pcb.PcbId=pcbId)pcb.PcbRuntime=now;/更新運行時間updateListView(pcb);break;/更新列表控件/privatevoidupdateListView(PCBpcb)lock(this.listView1)foreach(ListViewItemliinthis.listView1.Items)intliId=int.Parse(li.SubItems1.Text.ToString();if(liId!=pcb.PcbId)continue;li.S
8、ubItems3.Text=(pcb.PcbRuntime/10000000)+s;return;ListViewItemnewLi=newListViewItem(pcb.PcbName);newLi.SubItems.Add(pcb.PcbId+);newLi.SubItems.Add(pcb.PcbLeve+);newLi.SubItems.Add(pcb.PcbRuntime/10000000+s);this.listView1.Items.Add(newLi);this.ProcessCount=ThreadTable.Count;/線程運行的函數(shù)/IIIvparamname=o具有
9、唯一pcbid的PCB對象,用來標(biāo)示線程,也用來顯示儲存線程運行狀態(tài)v/paramprivatevoidrun(objecto)定義委托,用來調(diào)用函數(shù)顯示某一進(jìn)程的狀態(tài)GetNowFileTimeCallBackcall=newGetNowFileTimeCallBack(updatePcbListTime);PCBpcb=(PCB)o;intpcbId=pcb.PcbId;while(true)得到運行時間longruntime=DateTime.Now.ToFileTime()-pcb.StartTime;回調(diào)信息this.BeginInvoke(call,pcbId,runtime);t
10、ryThread.Sleep(1000);catch(Exceptione)IIIvsummary/關(guān)閉窗口/privatevoidMainForm_FormClosing(objectsender,FormClosingEventArgse)ToolStripMenuItem2_Click(sender,e);/點擊菜單的新建按鈕,創(chuàng)建進(jìn)程/privatevoidToolStripMenuItem1_Click(objectsender,EventArgse)CreateFormcf=newCreateForm();顯示創(chuàng)建PCD對象的窗體if(cf.ShowDialog(this)=DialogResult.OK)PCBpcb=cf.Pcb;/得到對象createProcess(pcb);/創(chuàng)建進(jìn)程intselectId=0;privatevoidlistView1_ItemSelectionChanged(objectsender,ListViewItemSelectionChangedEventArg
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年美甲店智能設(shè)備安裝與維護(hù)服務(wù)合同3篇
- 二零二五年度臨時雇工合同協(xié)議書(咨詢行業(yè))3篇
- 二零二五年度MCN達(dá)人虛擬主播合作協(xié)議3篇
- 2024正規(guī)勞動合同簽訂中的勞動爭議調(diào)解與仲裁程序3篇
- 2024年園林景觀苗木培育與基地建設(shè)合作合同3篇
- 2025年小型路面保潔設(shè)備項目合作計劃書
- 2025年度智能倉儲安防監(jiān)控系統(tǒng)設(shè)計與施工合同范本
- 2024煤炭購銷居間服務(wù)與環(huán)保監(jiān)測標(biāo)準(zhǔn)合同3篇
- 成都信息工程大學(xué)《行政領(lǐng)導(dǎo)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度水庫水面旅游開發(fā)合作協(xié)議3篇
- 大慶市2025屆高三年級第二次教學(xué)質(zhì)量檢測(二模)政治試卷(含答案)
- 期末試卷(試題)-2024-2025學(xué)年滬教版三年級上冊數(shù)學(xué)
- 學(xué)校心理危機(jī)干預(yù)流程圖
- 杏醬生產(chǎn)工藝
- 融資擔(dān)保業(yè)務(wù)風(fēng)險分類管理辦法
- 靜電場知識點例題結(jié)合
- 道德寶章·白玉蟾
- GB∕T 41170.2-2021 造口輔助器具的皮膚保護(hù)用品 試驗方法 第2部分:耐濕完整性和黏合強(qiáng)度
- 防雷裝置檢測質(zhì)量管理手冊
- 燃?xì)忮仩t房和直燃機(jī)房防爆問題
- 員工入職體檢表
評論
0/150
提交評論