这个函数中int b,b代表什么意思?void insert(PCB *q) /*新进程插入就绪队列,并按优先级排序*/{ PCB *p1,*s,*r; int b; s=q; /*指针s指向新要插入的进程*/ p1=ready; /*指针p1指向原来的进程队列
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 14:23:38
![这个函数中int b,b代表什么意思?void insert(PCB *q) /*新进程插入就绪队列,并按优先级排序*/{ PCB *p1,*s,*r; int b; s=q; /*指针s指向新要插入的进程*/ p1=ready; /*指针p1指向原来的进程队列](/uploads/image/z/12456158-14-8.jpg?t=%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E4%B8%ADint+b%2Cb%E4%BB%A3%E8%A1%A8%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3Fvoid+insert%28PCB+%2Aq%29+++%2F%2A%E6%96%B0%E8%BF%9B%E7%A8%8B%E6%8F%92%E5%85%A5%E5%B0%B1%E7%BB%AA%E9%98%9F%E5%88%97%2C%E5%B9%B6%E6%8C%89%E4%BC%98%E5%85%88%E7%BA%A7%E6%8E%92%E5%BA%8F%2A%2F%7B+++++PCB+%2Ap1%2C%2As%2C%2Ar%3B+++int+b%3B+++s%3Dq%3B++++++++%2F%2A%E6%8C%87%E9%92%88s%E6%8C%87%E5%90%91%E6%96%B0%E8%A6%81%E6%8F%92%E5%85%A5%E7%9A%84%E8%BF%9B%E7%A8%8B%2A%2F+++p1%3Dready%3B+++%2F%2A%E6%8C%87%E9%92%88p1%E6%8C%87%E5%90%91%E5%8E%9F%E6%9D%A5%E7%9A%84%E8%BF%9B%E7%A8%8B%E9%98%9F%E5%88%97)
这个函数中int b,b代表什么意思?void insert(PCB *q) /*新进程插入就绪队列,并按优先级排序*/{ PCB *p1,*s,*r; int b; s=q; /*指针s指向新要插入的进程*/ p1=ready; /*指针p1指向原来的进程队列
这个函数中int b,b代表什么意思?
void insert(PCB *q) /*新进程插入就绪队列,并按优先级排序*/
{
PCB *p1,*s,*r;
int b;
s=q; /*指针s指向新要插入的进程*/
p1=ready; /*指针p1指向原来的进程队列的队首*/
r=p1; /*使用指针r是指向p1前面的进程*/
b=1;
while((p1!=NULL)&&b)
{
if(p1->prio>=s->prio)
{
r=p1;
p1=p1->next;
}
else b=0;
}
if(r!=p1)
{
r->next=s; /*插入队列中间或队尾*/
s->next=p1;
}
else
{
s->next=p1; /*插入队首*/
ready=s;
}
}
这个函数中int b,b代表什么意思?void insert(PCB *q) /*新进程插入就绪队列,并按优先级排序*/{ PCB *p1,*s,*r; int b; s=q; /*指针s指向新要插入的进程*/ p1=ready; /*指针p1指向原来的进程队列
b表示是否在ready队列中继续向下查找
如果队列中的的进程的优先级已经小于新进程的优先级就不再继续查找了(b=0)