模拟PV操作同步机构-且用PV操作解决生产者——消费者问题。 下载本文

}

if(con_cnt>=len){ } pc++;

ready->breakp=pc; //保存断点 break;

strcpy(c1->state,\完成态 c1->breakp=-1; return;

case 4: //goto0 }

printf(\消费进程goto 0 操作\\n\pc=0;

ready->breakp=pc; //保存断点

void print(){

int i,j;

printf(\————————生产者消费者模拟———————\\n\printf(\模拟过程的字符串为:\\t\printf(\

printf(\已生产:\for(j=0;j<=rp1;j++)

printf(\

printf(\空缓存:\for(j=rp2;j<=rp1;j++)

printf(\

printf(\已消费:\for(j=0;j<=rp2;j++)

printf(\

printf(\———————进程控制块的信息————————\\n\printf(\进程名\\t\\t状态\\t等待原因\\t断点\\n\

printf(\

reakp);

printf(\

akp); }

4、main头文件代码如下: #include \#include \#include \void main(){

printf(\生产者消费者模拟\\n\printf(\—————————\\n\printf(\请输入字符串:\\n\

scanf(\数组存放将要产生的字符 len=strlen(str);

count=len; //输入字符的个数 init(); //初始化

while(con_cnt

system(\清屏操作

printf(\—————————模拟指令流程————————\\n\control(); //处理器调度程序

printf(\———————————————————————\\n\printf(\继续 0.退出\\n\scanf(\if(i==0){ }

exit(0);

}

}

processor(); //模拟处理器指令执行 print(); //输出显示各个信息

printf(\程序结束!\\n\

六、运行结果截图: