hust操作系统原理实验4.7(实验目的:理解“生产者-消费者”同步模型,熟悉Window同步控制机制和编程应用)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数和相关的同步函数,模拟实现“生产者-消费者”问题。
生产者-消费者是经典的同步问题,其用伪代码模拟为:
现在用windows的线程机制模拟,CreateThread()创建线程等等,相关函数可以学习课程或者找资料。
#include <iostream>
#include <Windows.h>
#include <cstdlib>
#include <ctime>
#include <stack>
#define P 5
#define C 5
using std::stack;
//生产者消费者问题
DWORD WINAPI producer_i(LPVOID param);
DWORD WINAPI consumer_i(LPVOID param);
HANDLE full, empty, mutex;
stack<int> s;
int main() {
//进程标识
int i, j;
i = j = 1;
//创建信号量 full, empty , mutex
full = CreateSemaphore(NULL, 0, 5,L"full");
empty &#