#include <Windows.h>
#include <iostream>
#include<stdio.h>
using namespace std;
const int Buer_Length= 10;//缓冲区长度Buer_Length
int PID = 0; //产品ID
int CID = 0; //消费ID
int in = 0;//生产指针
int out = 0;//消费指针
int Semaphore[Buer_Length];//缓冲区Semaphore
HANDLE Mutex; //用于线程间的互斥
HANDLE Full; //缓冲区中被占用的项
HANDLE Empty; //缓冲区中的空项
void Wait(HANDLE s)
{
WaitForSingleObject(s,INFINITE);//等待信号灯
}
void Signal(HANDLE s)
{
ReleaseMutex(s);
}
void Signal(HANDLE s, int count)
{
ReleaseSemaphore(s,count, NULL);
}
void Produce()//生产
{
}
void Consume()//消费
{
}
DWORD WINAPI Producer(LPVOID)
{
while (true)
{
Produce();
Sleep(2000);//该线程释放当前的控制权毫秒,让系统调度其他线程
}
return 0;
}
DWORD WINAPI Consumer(LPVOID)
{
while(true)
{
Consume();
Sleep(2000);//该线程释放当前的控制权毫秒,让系统调度其他线程
评论1
最新资源