91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

實驗四、生產者消費者問題(15分) ? 一個大小為3的緩沖區,初始為空 ? 2個生產者 – 隨機等待一段時間,往緩沖區添加數據, – 若緩沖區已滿,等待消費者取走數據后再添加 – 重復6次 ? 3個消費者 – 隨機等待一段時間,從緩沖區讀取數據 – 若緩沖區為空,等待生產者添加數據后再讀取 – 重復4次 說明: ? 顯示每次添加和讀取數據的時間及緩沖區的狀態 ? 生產者和消費者用進程模擬,緩沖區用共享內存來實現

資源截圖

代碼片段和文件信息

/*消費者*/

#include?“head.h“

main(int?argcchar?*?argv[])
{
struct?queue?*buf*out;
int?sem_id?=?semget(SEM_ALL_KEY?3?IPC_CREAT|0660);
int?ij;
buf?=?getQueue();//打開共享主存
????????out?=?buf;

for(i=0;i<4;i++)
{

p(sem_id?SEM_FULL); //P(FULL)?FULL開始值為0,表明開始的時候沒有數據,無法取得,當producer釋放一個數據時,這里開始有數據
p(sem_id?SEM_MUTEX); //P(MUTEX)
????????????????

????????????????(buf?+?buf->buf)?->buf?=?0; //取出產品后緩沖區置0
?????????????????buf->buf--;???//產品數-1

//獲取當前時間
struct?timeval?curtime;
gettimeofday(&curtimeNULL);

//輸出信息
printf(“?No.%s?consumer?get?product?at?%ld:%ld.\n“????
????????????????????????argv[0]curtime.tv_seccurtime.tv_usec);
printf(“?Now?the?buffer?is?as?follows:?“);
for(j=1;j<=3;j++)
printf(“%4d“(out+j)->buf);
printf(“\n“);

v(sem_id?SEM_MUTEX); //V(MUTEX)
v(sem_id?SEM_EMPTY); //V(EMPTY)

//隨機等待一段時間
int?ran=random()%5;
sleep(ran);
}
}


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????428032??2009-04-02?08:45??實驗四\20062918-柳絲-實驗四.doc

?????文件????????970??2009-03-31?22:47??實驗四\LinuxPC\consumer.c

?????文件???????1121??2008-05-28?21:53??實驗四\LinuxPC\head.h

?????文件????????790??2009-03-31?21:35??實驗四\LinuxPC\pc.c

?????文件????????999??2009-03-31?22:49??實驗四\LinuxPC\producer.c

????..A.SH.?????16384??2009-04-02?08:29??實驗四\LinuxPC\Thumbs.db

?????文件?????148480??2009-04-01?16:01??實驗四\WindowsPC\Debug\vc60.idb

?????文件??????77824??2009-04-01?15:58??實驗四\WindowsPC\Debug\vc60.pdb

?????文件?????184369??2009-03-31?21:06??實驗四\WindowsPC\Debug\WindowsPC.exe

?????文件?????195504??2009-03-31?21:06??實驗四\WindowsPC\Debug\WindowsPC.ilk

?????文件??????18568??2009-04-01?16:01??實驗四\WindowsPC\Debug\WindowsPC.obj

?????文件????3559256??2009-04-01?15:58??實驗四\WindowsPC\Debug\WindowsPC.pch

?????文件?????467968??2009-03-31?21:06??實驗四\WindowsPC\Debug\WindowsPC.pdb

?????文件???????5744??2009-03-31?21:06??實驗四\WindowsPC\WindowsPC.cpp

?????文件???????4320??2009-03-31?21:37??實驗四\WindowsPC\WindowsPC.dsp

?????文件????????541??2009-03-31?21:37??實驗四\WindowsPC\WindowsPC.dsw

?????文件??????50176??2009-04-02?08:46??實驗四\WindowsPC\WindowsPC.ncb

?????文件??????48640??2009-04-02?08:46??實驗四\WindowsPC\WindowsPC.opt

?????文件????????737??2009-04-01?16:01??實驗四\WindowsPC\WindowsPC.plg

?????目錄??????????0??2009-04-01?15:58??實驗四\WindowsPC\Debug

?????目錄??????????0??2009-04-02?08:44??實驗四\LinuxPC

?????目錄??????????0??2009-04-02?08:46??實驗四\WindowsPC

?????目錄??????????0??2009-04-14?17:10??實驗四

-----------?---------??----------?-----??----

??????????????5210423????????????????????23


評論

共有 條評論