首页 > 代码库 > 5 通道程序模拟
5 通道程序模拟
有5个打字机,1 ,2 号请求时间25us ,3,4 请求时间为150us ,5 号请求时间为800us,通道处理时间10us时间,输出时刻通道服务打字机。
<pre name="code" class="cpp">#include<iostream> using namespace std; const int t12=25;//1 2 打印机请求时间间隔25us const int t34=150;// 3 4 打印机请求时间间隔 150us const int t5=800;// 5 打印机请求时间间隔 800us int queue[6]={0};//服务队列 int f() { int i; bool flag=0; for(i=1;i<=5;i++) { if(queue[i]==1) { cout<<i<<","; flag=true; } } if(flag) cout<<"号打印机在请求队列中"; cout<<endl; } int main() { int time,i,j; int tt1=0,tt2=0,tt3=0,tt4=0,tt5=0;//1 2 3 4 5 号打印机初始请求的时间 //初始化 for(i=1;i<=5;i++) { queue[i]=1;//5个打印机进入请求队列 } for(time=10;time<=1000;time+=10) { if(queue[1]==0) { if(time>=tt1+t12) queue[1]=1; } if(queue[2]==0) { if(time>=tt2+t12) queue[2]=1; } if(queue[3]==0) { if(time>=tt3+t34) queue[3]=1; } if(queue[4]==0) { if(time>=tt4+t34) queue[4]=1; } if(queue[5]==0) { if(time>=tt5+t5) queue[5]=1; } if(queue[1]==1) { cout<<time<<"us时刻服务1号打印机 "; tt1=time; queue[1]=0; f(); continue; } if(queue[2]==1) { cout<<time<<"us时刻服务2号打印机 "; queue[2]=0; tt2=time; f(); continue; } if(queue[3]==1) { cout<<time<<"us时刻服务3号打印机 "; queue[3]=0; tt3=time; f(); continue; } if(queue[4]==1) { cout<<time<<"us时刻服务4号打印机 "; queue[4]=0; tt4=time; f(); continue; } if(queue[5]==1) { cout<<time<<"us时刻服务5号打印机 "; queue[5]=0; tt5=time; f(); continue; } } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。