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

資源簡介

壓縮包中包括linux和windows的程序源代碼及實驗報告 消費者和生產者問題如下: ? 一個大小為3的緩沖區,初始為空 ? 2個生產者 – 隨機等待一段時間,往緩沖區添加數據, – 若緩沖區已滿,等待消費者取走數據后再添加 – 重復6次 ? 3個消費者 – 隨機等待一段時間,從緩沖區讀取數據 – 若緩沖區為空,等待生產者添加數據后再讀取 – 重復4次 說明: ? 顯示每次添加和讀取數據的時間及緩沖區的狀態 ? 生產者和消費者用進程模擬,緩沖區用共享內存來實現

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?

#define?SEM_EMPTY?0
#define?SEM_FULL?1
#define?SEM_MUTEX?2
#define?KEY?3
#define?SEM_KEY?4

void?P(int?semid?int?sem_num);
void?V(int?semid?int?sem_num);

int?main(int?argcchar?*?argv[])
{
????int?i;
????int?shmidsemid;
????int?*pBuf?=?NULL*output;

????//打開共享內存
????shmid?=?shmget(KEY?sizeof(int)*4?0);
????pBuf?=?(int*)shmat(shmid?0?0);
????output?=?pBuf;

????if(pBuf==NULL)
????????printf(“共享內存附加失敗!\n“);

????//創建信號量
????semid?=?semget(SEM_KEY3?IPC_CREAT|0660);

????for(i=0;?i<4;?i++)
????{
????????P(semidSEM_FULL);?????//相當于P(SEM_FULL)申請讀取緩沖區的數據
????????P(semidSEM_MUTEX);????//相當于P(SEM_MUTEX)申請訪問緩沖區

????????//在緩沖區中讀取數據將1置為0
????????output?=?pBuf;
while((*output)==0)
{
output++;
}
(*output)=0;

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

????????printf(“消費者%s在緩沖區中讀取數據,讀取時間為:%ld:%ld\n“
argv[0]curtime.tv_seccurtime.tv_usec);
printf(“此時,緩沖區的狀態為:\n“);
printf(“[?%d?][?%d?][?%d?]\n“*(pBuf)*(pBuf+1)*(pBuf+2));


V(semidSEM_MUTEX);?????//相當于V(SEM_MUTEX)釋放信號量SEM_MUTEX
V(semidSEM_EMPTY);?????//相當于V(SEM_EMPTY)釋放信號量SEM_EMPTY

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

//P操作
void?P(int?semid?int?sem_num)
{
????struct?sembuf?sops;
????sops.sem_num=sem_num;
????sops.sem_op=-1;
sops.sem_flg=0;
????semop(semid?&sops?1);
}

//V操作
void?V(int?semid?int?sem_num)
{
????struct?sembuf?sops;
????sops.sem_num=sem_num;
????sops.sem_op=1;
sops.sem_flg=0;
????semop(semid?&sops?1);
}

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

?????文件???????1810??2011-04-07?19:21??消費者生產者\Linux\consumer.c

?????文件???????1192??2011-04-07?19:35??消費者生產者\Linux\main.c

?????文件???????1778??2011-04-07?19:19??消費者生產者\Linux\producer.c

?????文件???????7764??2011-04-11?08:39??消費者生產者\Windows\ConsumerAndProducer.cpp

?????文件??????32768??2011-04-07?19:56??消費者生產者\Windows\ConsumerAndProducer.exe

?????文件?????799232??2011-04-14?19:06??消費者生產者\實驗報告.doc

?????目錄??????????0??2011-04-14?19:06??消費者生產者\Linux

?????目錄??????????0??2011-04-14?19:06??消費者生產者\Windows

?????目錄??????????0??2011-04-14?19:07??消費者生產者

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

???????????????844544????????????????????9


評論

共有 條評論