xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

操作系統中的經典進程同步問題。利用信號量機制來解決生產者-消費者問題。

資源截圖

代碼片段和文件信息

#include????
#include?
#include?“d_random.h“????????????????//產生隨機數用

using?namespace?std;

//#define?MAX_THREAD_NUM?64????????????//最大線程數目
//int?count?=?0;???????????????????????//統計線程總數
HANDLE?h_Mutex;??????????????????????//用于線程間的互斥???
HANDLE?bufferFullSemaphore;??????????//當緩沖區滿時生產者等待信號量??
HANDLE?bufferEmptySemaphore;?????????//當緩沖區空時消費者等待信號量??????????????????????????????
const?int?BUFFER_SIZE?=?2;???????????//緩沖區長度
long?buffer[BUFFER_SIZE]?=?{0};????????//緩沖區循環隊列
int?in?=?0;??????????????????????????//用與追蹤產品進緩沖區時的緩沖區數組下標
int?out?=?0;????????????????????????//用與追蹤產品出緩沖區時的緩沖區數組下標
randomNumber?rndNum;?????????????????//用于產生隨機數(模擬產品)
long?rn;
const?int?PRODUCER_NUM=?3;?????//生產者的個數???
const?int?CONSUMER_NUM?=?4;?????//消費者的個數
DWORD?producerID[PRODUCER_NUM];???//生產者線程的標識符???
DWORD?consumerID[CONSUMER_NUM];???//消費者線程的標識符
bool?control?=?true;??????????????//控制生產者消費者線程的循環???

void?producer1(void)?????//生產者1進程
{???
while(control){
//count++;
WaitForSingleobject(bufferFullSemaphoreINFINITE);?
????????WaitForSingleobject(h_MutexINFINITE);
rn?=?rndNum.random(10000)?+?90000;
????????cout?< rn?< buffer[in]?=?rn;???//產品進緩沖區
in?=?(in?+?1)?%?BUFFER_SIZE;???//循環緩沖區指向下一個儲存空間
cout?< for(int?i?=?0;i? {
cout?< if(buffer[i]?==?0)
cout?<????????????else???
cout?<此產品可消費“;???
????????????????cout?< }
cout?<????????Sleep(1000);???
????????ReleaseMutex(h_Mutex);???
????????ReleaseSemaphore(bufferEmptySemaphore1NULL);???
}?????
}
void?producer2(void)?????//生產者2進程
{???
while(control){
//count++;
WaitForSingleobject(bufferFullSemaphoreINFINITE);???
????????WaitForSingleobject(h_MutexINFINITE);
rn?=?rndNum.random(10000)?+?90000;
????????cout?< rn?< buffer[in]?=?rn;???//產品進緩沖區
in?=?(in?+?1)?%?BUFFER_SIZE;???//循環緩沖區指向下一個儲存空間
cout?< for(int?i?=?0;i? {
cout?< if(buffer[i]?==?0)
cout?<????????????else???
cout?<此產品可消費“;???
????????????????cout?< }
cout?<????????Sleep(2000);???
????????ReleaseMutex(h_Mutex);???
????????ReleaseSemaphore(bufferEmptySemaphore1NULL);???
}?????
}???
void?producer3(void)?????//生產者3進程
{???
while(control){
//count++;
WaitForSingleobject(bufferFullSemaphoreINFINITE);???
????????WaitForSingleobject(h_MutexINFINITE);
rn?=?rndNum.random(10000)?+?90000;
????????cout?< rn?<

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

?????文件???????3543??2008-11-02?16:11??生產者與消費者\界面\ReadMe.txt

?????文件????????906??2008-11-03?16:15??生產者與消費者\界面\Resource.h

?????文件???????1610??2008-11-23?00:05??生產者與消費者\界面\scxf.clw

?????文件???????2035??2008-11-02?16:11??生產者與消費者\界面\scxf.cpp

?????文件???????4528??2008-11-03?16:42??生產者與消費者\界面\scxf.dsp

?????文件????????514??2008-11-02?16:11??生產者與消費者\界面\scxf.dsw

?????文件???????1302??2008-11-02?16:11??生產者與消費者\界面\scxf.h

?????文件??????91136??2008-11-23?00:06??生產者與消費者\界面\scxf.ncb

?????文件???????1416??2008-11-23?00:05??生產者與消費者\界面\scxf.plg

?????文件???????1343??2008-11-03?16:45??生產者與消費者\界面\scxfDlg.h

?????文件????????206??2008-11-02?16:11??生產者與消費者\界面\StdAfx.cpp

?????文件???????1054??2008-11-02?16:11??生產者與消費者\界面\StdAfx.h

?????文件???????5038??2008-11-10?16:13??生產者與消費者\界面\scxfDlg.cpp

?????文件???????6772??2008-11-10?16:42??生產者與消費者\界面\scxf.rc

?????文件??????33316??2008-11-11?17:16??生產者與消費者\界面\scxf.aps

?????文件??????49664??2008-11-23?00:06??生產者與消費者\界面\scxf.opt

?????文件???????2358??2008-11-03?16:16??生產者與消費者\界面\res\bitmap1.bmp

?????文件???????2358??2008-11-03?15:58??生產者與消費者\界面\res\bitmap2.bmp

?????文件???????2358??2008-11-03?16:16??生產者與消費者\界面\res\bitmap3.bmp

?????文件???????1270??2008-11-03?16:08??生產者與消費者\界面\res\bitmap4.bmp

?????文件???????1270??2008-11-03?16:10??生產者與消費者\界面\res\bitmap5.bmp

?????文件???????1270??2008-11-03?16:15??生產者與消費者\界面\res\bitmap6.bmp

?????文件???????1078??2008-11-02?16:11??生產者與消費者\界面\res\scxf.ico

?????文件????????396??2008-11-02?16:11??生產者與消費者\界面\res\scxf.rc2

?????文件?????122949??2008-11-23?00:05??生產者與消費者\界面\Debug\scxf.exe

?????文件?????345088??2008-11-23?00:05??生產者與消費者\界面\Debug\scxf.pdb

?????文件??????14100??2008-11-10?16:43??生產者與消費者\界面\Debug\scxf.res

?????文件?????364544??2008-11-23?00:05??生產者與消費者\界面\Debug\vc60.pdb

?????文件?????197632??2008-11-23?00:05??生產者與消費者\界面\Debug\vc60.idb

?????文件????5496080??2008-11-23?00:05??生產者與消費者\界面\Debug\scxf.pch

............此處省略27個文件信息

評論

共有 條評論