用多線程同步方法解決讀者閱覽問(wèn)題
1) 每個(gè)讀者進(jìn)入閱覽室后,即時(shí)顯示“Entered” 及其線程自定義標(biāo)識(shí),還同時(shí)顯示閱覽室共有幾名顧客及其所坐的位置。
2) 至少有10個(gè)讀者,每人閱覽至少3秒鐘。
3) 多個(gè)讀者須共享操作函數(shù)代碼。
2總的設(shè)計(jì)思想及系統(tǒng)平臺(tái)、語(yǔ)言、工具:
設(shè)計(jì)思想:程序設(shè)定的是10個(gè)讀者和5個(gè)座位,對(duì)讀者進(jìn)行編號(hào),依次進(jìn)入閱覽室讀書(shū),為每一座位列一表目,包括座號(hào)和讀者號(hào)等,讀者離開(kāi)時(shí)要登出,即消掉登記的信息。
系統(tǒng)平臺(tái):LINUX 語(yǔ)言:C語(yǔ)言 工具:vi編輯器、gcc編譯器
操作系統(tǒng):linux操作系統(tǒng)
調(diào)試工具:edit、masm、link、debug.
3數(shù)據(jù)結(jié)構(gòu)與模塊說(shuō)明(功能與流程圖)
數(shù)據(jù)結(jié)構(gòu)
int count=0 //記錄閱覽室讀者數(shù)量
sem_t full //定義閱覽室座位信號(hào)量
int seat[5] //用數(shù)組表示座位
pthread_t reader[10] //定義讀者線程
pthread_mutex_t mutex //定義互斥量
3.2功能說(shuō)明
可以標(biāo)識(shí)讀者,隨機(jī)為讀者設(shè)置在閱覽室的讀書(shū)時(shí)間
可以顯示閱覽室讀者的人數(shù)
可以顯示讀者所坐的位置,座位狀態(tài)以及列出空座位
標(biāo)簽:
多線程同步
上傳時(shí)間:
2016-08-10
上傳用戶:zsjzc