91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Experiment 1 Printer Simulation: FIFO(2 hours), fifo.cpp,fifo.h

資源截圖

代碼片段和文件信息


#include?“fifo.h“
#include?

using?namespace?std;

fifo::fifo(int?seconds_per_page):simulator(seconds_per_page){}

void?fifo::simulate(string?file){
????loadworkload(file);

????queue?waiting;
????queue?servicing;

????int?timer?=?0;//現(xiàn)在的時間
????int?service_time?=?workload.front().arrival_time();//打印時的時間
????int?sz?=?workload.size();
????float?aggregate_latency?=?0;
????int?eventNum?=?0;

?????cout<<“FIFO?Simulation“<
?????while(!workload.empty()){
?????????for(?;eventNum??????????????while(true){
?????????????????if(!workload.empty()){

?//當timer等于workload中頂端元素的wait_until時,往waiting里壓入even,在屏幕上打印出這項任務到達的信息。
?//判斷serving是否為空,空的話壓入workload頂端元素even,并打印出這項任務正在打印的信息
?????????????????????if(timer?==?workload.front().arrival_time()){
?????????????????????????waiting.push(workload.front());
?????????????????????????cout?<<“Arriving:??“?<???????????????????????????<<“?at?“?<?????????????????????????if(servicing.empty()){
???????????????????????????servicing.push(workload.front());
???????????????????????????cout?<<“Servicing:??“?<????????????????????????????<?????????????????????????}
?????????????????????????workload.pop();
?????????????????????}else
?????????????????????????break;
?????????????????}else
?????????????????????break;
?????????????}

?????????????if(waiting.empty()){
?????????????????continue;
?????????????}

?//判斷serving是否為空,空的話,waiting彈出頂端元素。Serving壓入waiting的頂端元素,并打印這項任務正在打印的信息,
?//并且計算aggregate_latency?+=?service_time?-?waiting.front().arrival_time();
?????????????if(servicing.empty()){
?????????????????waiting.pop();
?????????????????servicing.push(waiting.front());
?????????????????cout?<<“Servicing:??“?<???????????????????<?????????????????aggregate_latency?+=?service_time?-?waiting.front().arrival_time();
?????????????}

?//判斷timer?==?servicing.front().getjob().getnumpages()?*seconds_per_page?+service_time?-?1?
?//如果是的話,證明上一項even已經(jīng)處于結束階段,打印時間+1,并且彈出serving的頂端元素。
?????????????if(timer?==?servicing.front().getjob().getnumpages()?*?seconds_per_page?+
?????????????????service_time?-?1){
?????????????????service_time?=?timer?+?1;
?????????????????servicing.pop();
?????????????????eventNum++;
?????????????}

?????????}
?????}

?????cout<?????cout<<“Aggregate?latency:?“?<?????cout<<“Mean?latency:?“<}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2879??2017-06-19?16:05??實驗源代碼1\fifo.cpp

?????文件????????324??2011-05-11?23:10??實驗源代碼1\fifo.h

?????目錄??????????0??2017-06-23?21:50??實驗源代碼1

-----------?---------??----------?-----??----

?????????????????3203????????????????????3


評論

共有 條評論