好文档 - 专业文书写作范文服务资料分享网站

操作系统课程设计 进程管理、进程间通信

天下 分享 时间: 加入收藏 我要投稿 点赞

wait(0); read(fd[0],inpipe,50); printf(\ exit(0); } } } 〈运行结果〉 延迟5秒后显示: child1 process is sending message! 再延迟5秒: child2 process is sending message! (2)消息的创建,发送和接收 21 / 27

#include #include #include #include #define MSGKEY 75 /*定义关键词MEGKEY*/ Struct msgform /*消息结构*/ { long mtype; char mtexe[100]; /*文本长度*/ }msg; int msgqid,i; void CLIENT( ) { int i; msgqid=msgget(MSGKEY,0777|IPC_CREAT); for(i=10;i>=1;i--) { msg.mtype=i; printf(\ msgsnd(msgqid,&msg,1030,0); /*发送消息msg入msgid消22 / 27

息队列*/ } exit(0); } void SERVER( ) { msgqid=msgget(MSGKEY,0777|IPC_CREAT); /*由关键字获得消息队列*/ do { msgrcv(msgqid,&msg,1030,0,0); /*从队列msgid接受消息msg*/ printf(\ }while(msg.mtype!=1); /*消息类型为1时,释放队列*/ msgctl(msgqid, IPC_RMID,0); } main() { if(fork()) { 23 / 27

SERVER(); wait(0); } else CLIENT( ); } <运行结果> 。。。 24 / 27

五.设计流程图 25 / 27

操作系统课程设计 进程管理、进程间通信

wait(0);read(fd[0],inpipe,50);printf(\exit(0);}}}〈运行结果〉延迟5秒后显示:child1processissendingmessage!再延迟5秒:child2processissendingmess
推荐度:
点击下载文档文档为doc格式
8zvu57ew3a667gj1yjqg01k8300x4z01cmq
领取福利

微信扫码领取福利

微信扫码分享