資源簡介
包括課程設計報告和源代碼
模擬實現用同步機構避免發生進程執行時可能出現的與時間有關的錯誤。
我們把若干個進程都能進行訪問和修改的那些變量稱為公共變量。由于進程是并發地執行的,所以,如果對進程訪問公共變量不加限制,那么就會產生“與時間有關”的錯誤。為了防止這類錯誤,系統必須要用同步機構來控制進程對公共變量的訪問。本實習要求我們模擬PV操作同步機構的實現,模擬進程的并發執行,了解進程并發執行時同步機構的作用。
代碼片段和文件信息
#include
#include
#include
#define??num_item??10???//?定義由屏幕輸入的字符串的大小
#define??num_buff??10????//定義緩沖區大小
struct?PCB???????????????//進程控制塊
{
char?name[10];
char?state;??????????//W:等待態??R:運行態??O:就緒態??C:完成態
char?wait_Reason;????//E:wait?empty;F:wait?full;
int??breakPoint;
};
typedef?struct?process???//進程
{
char?item;???????????//生產或消耗的產品
PCB??pcb;????????????//進程控制快
struct?process?*next;
}*Queue;
//變量聲明及初始化
Queue?waitreadyend; ??//wait:等待(阻塞)隊列???ready:就緒隊列???end:運行結束隊列 ?
int?empty=num_bufffull=0; ??//空緩沖和滿緩沖數目
int?in=0out=0; ??//記錄放入和獲取緩沖區數據的位置
int?rand_num=5; ??//隨機數,標示進程的在隊列中的位置,用于隨機獲取進程
int?count_p=0count_c=0end_p=0end_c=0count=0;??//count_p??記錄生產者的個數?
??//count_c??記錄生產者的個數
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????13257??2010-06-25?01:51??同步機制\pv.cpp
????..A.SH.???????162??2010-06-24?22:59??同步機制\~$六?同步機構.doc
????..A.SH.????705024??2010-06-24?22:26??同步機制\~WRL0003.tmp
?????文件?????731136??2011-04-14?20:57??同步機制\同步機制.doc
?????目錄??????????0??2011-04-14?20:57??同步機制
-----------?---------??----------?-----??----
??????????????1449579????????????????????5
- 上一篇:算法工具集合 智能卡
- 下一篇:window看門狗程序
評論
共有 條評論