资源简介
用C-Free5软件写的,主函数为Int类型。在其他软件上可能要改成void,算法方面没有什么问题。如果要缓冲池满就把生产者M1的数改的比消费者M2的高,要缓冲池空则相反。
代码片段和文件信息
#include
#include
#include
#define N 10 //定义缓冲池的大小
#define M1 1
#define M2 5
int in=0out=0;
int count=1; //全局变量,用来储存现有的产品数目
HANDLE mutex; //互斥信号量
HANDLE empty; //
HANDLE full;
void Producer(){
while(1){
if((in+1)%N==out){
printf(“缓冲池已满,请等待3秒钟!\n\n“);
Sleep(3000);
}
else{
WaitForSingleobject(emptyINFINITE);
WaitForSingleobject(mutexINFINITE);
count++;
in=(in+1)%N;
printf(“生产了一个产品,现在的产品数为%d\n\n“count);
ReleaseMutex(mutex);
ReleaseSemaphore(full1NULL);
Sleep(1000);
}
}
}
void Consumer(){
while(1){
if(in == out){
printf(“缓冲池为空,请等待2秒钟!\n\n“);
Sleep(2000);
}
else{
WaitForSingleobject(fullINFINITE);
WaitForSingleobject(mutexINFINITE);
count--;
out=(out+1)%N;
printf
- 上一篇:侯捷C++全套课程视频资源
- 下一篇:原始套接字发送完整UDP数据包c语言实现
相关资源
- C语言嵌入式Modbus协议栈,支持主站和
- C语言封装的HttpClient接口
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
- 数据结构(C语言版)ppt课件,清华,
- c语言编程经典例题100例 word版
- C语言编译器的设计与实现.doc
评论
共有 条评论