다중 사용자 컴퓨터의 CPU가 서비스 작업을 시뮬레이션하는 프로그램을 작성하고 있습니다. 나는 job
이라는 클래스를 정의했으며 그 중 하나는 waitQueue
이고 다른 하나는 CPUqueue
인 두 개의 큐를 만들었습니다. 난 waitQueue
에서 데이터로 CPUqueue
을 채우려 고 노력 중이며 waitQueue
에서 터를 뽑아 CPUqueue
으로 밀어 넣으려고합니다.수업 대기열에서 '푸시'하고 '팝업'할 수 있습니까?
#include <iostream>
#include <string>
#include <stdlib.h>
#include <queue>
#include "job.cpp"
using namespace std;
int main()
{
int second = 0, jobsCompleted = 0, jobsToComplete = 0, probUser = 0, probability;
long id;
jobType_t job_type;
int inWQ, outWQ, inCPUQ, outCPUQ, required, given, jobTypeInt;
queue<job> CPUqueue[10], waitQueue[10];
srand(time(NULL));
cout << "Enter how many jobs need to be completed: ";
cin >> jobsToComplete;
cout << endl << "Enter the probability that a new job is created: ";
cin >> probUser;
cout << endl;
while(jobsCompleted < jobsToComplete)
{
second++;
probability = rand() % 100 + 1;
if(probability > probUser)
{
cout << "Enter new JOB ID: ";
cin >> id;
jobTypeInt = rand() % 1 + 1;
if(jobTypeInt = 1) job_type = IO_bound;
else job_type = CPU_bound;
required = rand() % 10;
inWQ = second;
job *newJob = new job(id, job_type, inWQ, outWQ, inCPUQ, outCPUQ, required, given);
waitQueue.push(newJob);
}
while(!CPUqueue.isFull())
{
waitQueue.back();
job *temp = waitQueue.pop();
CPUqueue.push(temp);
}
}
return 0;
}
:.! 내가 작업 된 MAIN.CPP 파일이 오류없이이 부분도 마찬가지로뿐만 아니라 도와주세요 호출 다른 기능 .. 여기
에 대한 (error: request for member ‘push’ in ‘waitQueue’, which is of non-class type ‘std::queue<job> [10]’
말을 쓸 수없는 것
감사합니다!
그리고 나서'CPUqueue.size (10); waitQueue.size (10);' –
@VincentGiuliana : 큐는 필요에 따라 동적으로 크기가 조정됩니다. –