下载此文档

操作系统生产者与消费者源代码.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
操作系统生产者与消费者源代码
操作系统生产者与消费者源代码
操作系统生产者与消费者源代码
/*生产者/消费者*/
#include<〉
#include<malloc.h〉
#include<iostream.h>
struct PCB

int flag;ﻩ//1为生产者,2为消费者
ﻩint numLabel;
};
typedef struct QNode
{
ﻩPCB data;//数据域
ﻩstruct QNode* next;//指针域
}QNode, *QueuePtr;
typedef struct
{
ﻩQueuePtr front;//队头指针
ﻩQueuePtr rear;//队尾指针
}LinkQueue;
typedef struct LNode

ﻩQueuePtr data;
struct LNode *next;
}LNode, *LinkList;
void QueueInit(LinkQueue &Q)//初始化队列
{
ﻩQ。front = Q。rear = (QueuePtr)malloc(sizeof(QNode));
ﻩQ.front->next = NULL;
}
void LinkListInit(LinkList& L)//初始化链表
{
ﻩL = (LinkList)malloc(sizeof(LNode));

操作系统生产者与消费者源代码
操作系统生产者与消费者源代码
操作系统生产者与消费者源代码
void EnQueue(LinkQueue &Q, QueuePtr p)//入队

ﻩp—〉next = NULL;
->next = p;
ﻩQ。rear = p;
}
QueuePtr DeQueue(LinkQueue &Q)
//出队
{
ﻩQueuePtr p = Q。front—>next;
->next = p->next;
if( == p) =Q。front;
ﻩreturn p;
}
void outqueue(LinkQueue& Q)

  QueuePtr p = Q.front->next;
ﻩQ。front-〉next = p—〉next;
if( == p) =Q。front;

void LinkListInsert(LinkList &L, QueuePtr e)//进入链表

ﻩLinkList p = L;ﻩ
ﻩLinkList q = (LinkList)malloc(sizeof(LNode));
ﻩwhile(p->next)p++;
ﻩq—>data = e;
ﻩq—〉next = NULL;
p->next = q;
}
void processproc(LinkQueue &Q)//创建进程进入初始队列
{
ﻩint processNum = 0;
cout<<”请输入进程的个数:";//确定进程个数,默认为0
cin>>processNum

操作系统生产者与消费者源代码 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人woyaonulifacai
  • 文件大小26 KB
  • 时间2021-10-25