readyqueue.h
来自「CPU调度算法---模拟OS所使用的所有调度算法,包括创建一个kernel,PC」· C头文件 代码 · 共 69 行
H
69 行
# if !defined(__PCB_H)
#include "CPU\PCB.h"
# endif
# if !defined(__READYQUEUE_H)
#define __READYQUEUE_H
# endif
class ReadyQueue
{
public:
PCB head;
PCB tail;
int NoOfJobs;
ReadyQueue()
{
head.next = NULL;
tail.next = NULL;
NoOfJobs = 0;
}
void addPCB(PCB *p)
{
NoOfJobs++;
/*if(NoOfJobs == 1)
{
head.next = p;
tail.next = p;
return;
}*/
PCB * ptr = &head;
while (ptr->next != NULL)
{
ptr = ptr->next;
}
ptr->next = p;
tail.next = p;
}
void delPCB(PCB *p)
{
PCB * ptr = &head;
PCB * ptr1 = NULL;
while (ptr != NULL)
{
if(ptr == p)
{
ptr1->next = ptr->next;
delete(ptr);
NoOfJobs--;
}
ptr1 = ptr;
ptr = ptr->next;
}
tail.next = ptr;
}
PCB* getPCB(int i)
{
PCB * ptr = &head;
while(i>0)
{
i--;
ptr = ptr->next;
}
return ptr;
}
}ReadyQueue;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?