生产者与消费者算法(doc 8页)
所属分类:管理知识
文件大小:606 KB
下载要求:10 学币或VIP
点击下载生产者与消费者算法内容提要:
#include<windows.h>
#include<fstream.h>
#include<stdio.h>
#include<string>
#include<conio.h>
//定义一些常量;
//本程序允许的最大临界区数;
#define MAX_BUFFER_NUM 10
//秒到微秒的乘法因子;
#define INTE_PER_SEC 1000
//本程序允许的生产和消费线程的总数;
#define MAX_THREAD_NUM 64
//定义一个结构,记录在测试文件中指定的每一个线程的参数
struct ThreadInfo
{
int serial; //线程序列号
char entity; //是P还是C
double delay; //线程延迟
int thread_request[MAX_THREAD_NUM]; //线程请求队列
int n_request; //请求个数
};
//全局变量的定义
//临界区对象的声明,用于管理缓冲区的互斥访问;
CRITICAL_SECTION PC_Critical[MAX_BUFFER_NUM];
int Buffer_Critical[MAX_BUFFER_NUM]; //缓冲区声明,用于存放产品;
HANDLE h_Thread[MAX_THREAD_NUM]; //用于存储每个线程句柄的数组;
ThreadInfo Thread_Info[MAX_THREAD_NUM]; //线程信息数组;
HANDLE empty_semaphore; //一个信号量;
HANDLE h_mutex; //一个互斥量;
DWORD n_Thread = 0; //实际的线程的数目;
DWORD n_Buffer_or_Critical; //实际的缓冲区或者临界区的数目;
HANDLE h_Semaphore[MAX_THREAD_NUM]; //生产者允许消费者开始消费的信号量;
..............................
精品资料网 m.cnshu.cn
Copyright © 2004- 粤ICP备10098620号-1
风险管理 应急预案 研发管理 运营管理 内部管理 商业模式 执行力 连锁经营 公司治理 工厂管理 创新管理 家族企业 效率管理 名企案例 企业理念 价值管理 特许经营 瓶颈管理 调查问卷 策划方案 领导力 团队建设 企业变革 企业文化 战略管理 竞争策略 管理知识 危机管理 成本管理 项目管理 发展战略 年度计划 决策管理 企业上市 供应商 组织设计 产品管理 采购管理 品牌管理 企业诊断 企业咨询 商务谈判 物流管理 运作管理 管理制度 行业报告 经营管理 企划方案 MBA 流程管理 目标管理 招标投标 商务礼仪 管理表格 管理技能 管理案例 管理工具 管理手册 职业经理人 商业计划书 董事与股东 可行性报告