實驗要求:有兩組併發程序:讀者和寫者,共享乙個檔案f,要求:
(1)允許多個讀者可同時對檔案執行讀操作;
(2)只允許乙個寫者往檔案中寫資訊;
(3)任一寫者在完成寫操作之前不允許其他讀者或寫者工作;
(4)寫者執行寫操作前,應需已有的寫者和讀者全部退出。
(5) 要求**程式產生3個讀者程序,兩個寫者程序,讀寫者都周期性地產生讀寫要求,讀寫操作要持續一定時間。
// c
#include "stdafx.h"
#include#include #include #include //#include #include #include #include #include //releasesemaphore 按指定數量增加指定訊號量物件的計數
#define inte_per_sec 100
#define max_thread_num 64
#define sem_max_full 64
#define writer 'w'
#define reader 'r'
using namespace std;
struct threadinfo
;//執行緒資訊
int read_count=0;
handle mutex,w;//mutex用於對計數器read_count操作的互斥訊號量,w用於是否允許寫的訊號量
handle book;
void thread_reader(void *p)//讀程序
releasesemaphore(mutex,1,null); }
}void thread_writer(void *p)//寫程序
}void writerreader(char *file)
for(int i=0;i<(int)(n_thread);i++)
}}
waitformultipleobjects(n_thread,h_thread,true,-1);
printf("task is finished!\n");
getch();
}int main(int argc, char* ar**)
系統設計與分析 HW1
1 軟體工程的定義 軟體工程一直以來都缺乏乙個統一的定義,很多學者 組織機構都分別給出了自己認可的定義 ieee的定義 軟體工程是 1.將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體。2.在1中所述方法的研究。計算機科學技術百科全書 軟體工程是應用電腦科學 數...
IT專案管理HW1
1.描述projects programs portfolio operations 和 opm 的概念 projects 專案 專案是為創造獨特的產品 服務或成果而進行的臨時性工作 programs 計畫 專案組合 專案群或大型專案,是以協同的方式獲取單獨管理所無法取得之效益的一組專案 portf...
系統分析與設計HW1
軟體工程的定義 軟體工程是 1 將系統化的 規範的 可度 量的方法應用於軟體的開發 執行和維護,即將工程 化方法應用於軟體 2 在 1 中所述方法的研究 閱讀經典名著 人月神話 等資料,解釋 software crisis cocomo 模型 software crisis 軟體危機泛指在計算機軟體...