⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 操作系统课程实验模拟生产者消费者问题的C语言程序.(Turbo C 详见ReadMe)
💻 TXT
字号:
操作系统课程实验模拟生产者消费者问题的C语言程序.
Copy Right ? 2003 Redream (redlqs@163.com)


I  实验名称 : 模拟生产者消费者问题
 
   实验内容 : 编程实现模拟生产者消费者问题

II 实现算法 :

    一 : 定义 : BUFNUM 缓冲区的个数; PNUM 生产者个数; CNUM 消费者个数;PSTEP 消费速度( 50 为每秒生产一个产品 );CSTEP 消费速度( 50 为每秒消费一个产品 ). 
         结构体 : struct Man{ float  Value ;int Lock  ;} ;Value 用来描述生产百分率( 实际为Value*2 ).
         变量 : IsCusable 某时刻是否可生产;IsProable 某时刻是否可消费; Cputime 模仿 CPU 时间; PHaveLock 生产者是否有阻塞( 0 没有, 1 有 ); HaveEmpty 缓冲区是否有空的( 1 有, 0 无 ); IsBufferHave 缓冲区是否有空的 ; BufferUse 某时刻是否用缓冲区( 1 用, 0 不用 ); Buffer[BUFNUM] 模仿缓冲区.
    二 : 函数作用 :用 time( ) 函数模仿 CPU 时间, 用 random( ) 函数模仿进程同步,并决定是生产还是消费, Init( )用来初始化参数值能屏幕,生产函数为 Prod( ),消费函数为 Cust( ),Proable( ),Cusable( ),BufferHave( ) 用来判断是否可生产能消费和是否有缓冲区, ShowScr( ) 用来实时显示生产消费结果, UseBuffer( )用来修改缓冲区,ShowBuf( )将缓冲区情况显示于屏幕.
    三 : 算法 :用Cputime 模仿 CPU 时间, 随机调用生产 Prod( )与消费 Cust( )函数, 生产与消费函数调用显示ShowScr( )函数,将结果实时的显示给用户,每一次 CPU 时间模仿都对可否生产 Proable( ) ,可否消费 Cusable( ) 和可否用缓冲区 BufferHave( ) 作一次判断.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -