资源简介
操作系统生产者——消费者模拟程序
两个线程里创建独立的定时器
代码片段和文件信息
#include “P_C.h“
#include
#include
#include
#pragma comment(lib “P_C_Dll.lib“)
int main(int argc char ** argv)
{
ContainerType c = C_LOOP_QUEUE;
UINT producerTimer = 500;
UINT consumerTimer = 1000;
int opr res;
if(argc >= 2)
{
if(strlen(argv[1]) >= 4)
{
if(argv[1][0] == ‘/‘ && argv[1][1] == ‘c‘ && argv[1][2] == ‘:‘)
{
if(argv[1][3] == ‘s‘)
c = C_STACK;
else if(argv[1][3] == ‘q‘)
c = C_LOOP_QUEUE;
}
}
}
Initialize(c producerTimer consumerTimer);
ProducerStart();
ConsumerStart();
printf(“ 生产者——消费者模拟系统\n“);
printf(“----------------------------------------------------------------------\n“);
printf(“ Producer Consumer\n“);
printf(“----------------------------------------------------------------------\n“);
ResumeAll();
while(1)
{
system(“pause > nul“);
SuspendAll();
printf(“----------------------------------------------------------------------\n“);
printf(“Select an operation(1 2 3):\n“);
printf(“\t1. 更改生产者速度\n\t2. 更改消费者速度\n\t3. 退出程序\n“);
do{
printf(“\n>“);
res = scanf(“%d“ &opr);
rewind(stdin);
}while(res == 0 || (opr != 1 && opr != 2 && opr != 3));
if(opr == 1)
{
printf(“输入生产者时间间隔( >50 ):\n“);
do{
printf(“\n>“);
res = scanf(“%d“ &producerTimer);
rewind(stdin);
}while(res == 0 || producerTimer <= 50);
printf(“ 生产者——消费者模拟系统\n“);
printf(“----------------------------------------------------------------------\n“);
printf(“ Producer Consumer\n“);
printf(“----------------------------------------------------------------------\n“);
ResumeAll();
SetProducerTimer(producerTimer);
}
else if(opr == 2)
{
printf(“输入消费者时间间隔( >50 ):\n“);
do{
printf(“\n>“);
res = scanf(“%d“ &consumerTimer);
rewind(stdin);
}while(res == 0 || consumerTimer <= 50);
printf(“ 生产者——消费者模拟系统\n“);
printf(“----------------------------------------------------------------------\n“);
printf(“ Producer Consumer\n“);
printf(“----------------------------------------------------------------------\n“);
ResumeAll();
SetConsumerTimer(consumerTimer);
}
else if(opr == 3)
{
/* ResumeAll(); */
break;
}
}
StopAll();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2545 2008-12-17 14:50 P_C\P_C.c
文件 4326 2008-12-17 14:06 P_C\P_C.dsp
文件 527 2008-12-17 13:06 P_C\P_C.h
文件 208951 2008-12-17 14:15 P_C\P_C_Dll.dll
文件 3302 2008-12-17 13:57 P_C\P_C_Dll.lib
文件 162 2008-12-17 10:35 P_C_Dll\constant.h
文件 1310 2008-12-17 12:40 P_C_Dll\loop_queue.c
文件 610 2008-12-17 10:54 P_C_Dll\loop_queue.h
文件 5278 2008-12-17 14:15 P_C_Dll\P_C_Dll.c
文件 148 2008-12-17 13:06 P_C_Dll\P_C_Dll.def
文件 4828 2008-12-17 13:57 P_C_Dll\P_C_Dll.dsp
文件 560 2008-12-17 13:06 P_C_Dll\P_C_Dll.h
文件 1035 2008-12-17 12:40 P_C_Dll\stack.c
文件 495 2008-12-17 10:54 P_C_Dll\stack.h
文件 165 2008-12-17 12:49 P_C_Dll\typedefine.h
文件 734 2008-12-17 16:04 OS2008.dsw
目录 0 2008-12-17 16:05 P_C
目录 0 2008-12-17 16:05 P_C_Dll
----------- --------- ---------- ----- ----
234976 18
- 上一篇:软件项目开发的全套文档——资料包15个DOC
- 下一篇:dtmf双音多频音频分析软件
相关资源
- 利用管程_信号量解决生产者消费者问
- 基于队列的状态机—生产者消费者架
- 操作系统课程设计报告-生产者与消费
- 华南理工大学操作系统实验:生产者
- 用多线程同步方法解决生产者-消费
- Linux C利用多进程或多线程模拟实现生
- 操作系统课设,生产者消费者演示程
- 操作系统生产者、消费者算法——j
- 操作系统实验生产者与消费者实验报
- QT窗口界面模拟生产者消费者
- 操作系统 课程设计 实现生产者消费者
- 操作系统实现生产者消费者问题
- 生产者消费者问题实验报告和代码实
- LABVIEW的生产者消费者模板
- 多生产者多消费者缓冲区问
- 操作系统课程设计生产者与消费者
- 进程同步与互斥 生产者与消费者问题
- 生产者消费者C 代码
- 操作系统课程设计-消费者生产者问
- Linux 0.11下信号量的简单实现——用生
- 用多线程同步方法解决生产者-消费者
- 操作系统实验报告_生产者-消费者问题
- 企业环境责任对品牌资产影响的实证
- 论文研究 - 信息策略和认知需求NFC对
- 论文研究 - 社会排斥对消费者行为的
- 论文研究 - 孟加拉国对香料粉质量的
- springboot+dubbo+zookeeper实现多个生产者、
- 进程同步模拟设计 生产者和消费者问
- \\操作系统课程设计银行家算法,生产
- 用多进程同步方法演示“生产者-消费
评论
共有 条评论