⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readyqueue.h

📁 CPU调度算法---模拟OS所使用的所有调度算法,包括创建一个kernel,PCB,队列
💻 H
字号:
# 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -