首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
编写利用消息机构实现输入进程和输出进程同步的C程序。输入进程从标准输入读入一个字符串,并将该字符串发给输出进程;输出进程向标准输出中输出字符串。通信双方通过关键字为MSGKEY的消息队列进行通信,两个程序使用相同的一组头文件,假设头文件的说明已放在文件ms
编写利用消息机构实现输入进程和输出进程同步的C程序。输入进程从标准输入读入一个字符串,并将该字符串发给输出进程;输出进程向标准输出中输出字符串。通信双方通过关键字为MSGKEY的消息队列进行通信,两个程序使用相同的一组头文件,假设头文件的说明已放在文件ms
admin
2016-05-12
52
问题
编写利用消息机构实现输入进程和输出进程同步的C程序。输入进程从标准输入读入一个字符串,并将该字符串发给输出进程;输出进程向标准输出中输出字符串。通信双方通过关键字为MSGKEY的消息队列进行通信,两个程序使用相同的一组头文件,假设头文件的说明已放在文件msgcom.h中。
选项
答案
程序清单24-7:msg.C /*msgcom.h*/ #include<errno.h> #include<sys/types.h> #include<sys/ipc.h> #include<sys/msg.h> #define MSGKEY 12345678 struct msgtype{ long mtype; charstr[256]; }; /*输入进程*/ #include"msgcom.h" #include<stdio.h> #include<string.h> main() { struct msgtype buf; int qid,pid; void bzero(); if((qid=msgget(MSGKEY,IPC_CREAT|0666))==-1) return(-1); buf.mtype=getpid(); while(1){ bzero(buf.str,sizeof(buf.str)); printf("Input data:"); Scanf("%S",buf.str); msgsnd(qid,&buf,strlen(buf.str)+1,0); } } /*输出进程*/ #include"msgcom.h" #include<stdio.h> main() { void bzero(); struct msgtype buf; int qid; if((qid=msgget(MSGKEY,IPC_CREAT|0666))==-1) return(-1); while(1){ msgrcv(qid,&buf,512,0,MSG_NOERROR);//接收消息队列最早的消息 printf("Receive a string from process%d:%S\n",buf.mtype,buf.str); bzero(buf.str,sizeof(buf.str)); } } 由于消息队列本身就具有缓冲和队列的同步机制,故发送进程只需不断发数据,接收进程只管不断收数据就可以了。这比用信号量实现计算进程和打印进程的同步要简单。
解析
转载请注明原文地址:https://kaotiyun.com/show/DSNx777K
本试题收录于:
操作系统题库理工类分类
0
操作系统
理工类
相关试题推荐
他励式直流电动机电枢接额定电压情况下空载运行,如果励磁线圈突然断电,电动机是否会停转?为什么?
某企业拟筹集资金购买设备,有两个银行愿意提供贷款,甲银行年利率15%,按年复利计息;乙银行年利率14%,按月复利计息,试选择贷款银行。
工程质量事故发生后,工程建设单位负责人应于________小时内向事故发生地县级以上人民政府住房和城乡建设主管部门及有关部门报告。()
改进方案评价的内容不包括()
计算机病毒程序利用操作系统的___________或加载机制进入内存。
简述WindowsServer2003内核的基本功能。
为确保信箱数据的一致性,需要设置________个信号量。
在一页式存储管理的系统中,内存容量为128KB,被划分为64块,若按下列页表,试求出有效逻辑地址4567所对应的物理地址。页号块号02142638437
判别循环队列空和满的方法有_______、_______和_______。
随机试题
法的历史类型包括()。
什么叫淬火?
下面哪项技术不是利用核酸分子杂交的原理
八位D/A转换器,当输入数字量10000000时,输出电压为5V,若输入为10001000,输出电压为()。
鲜奶在大规模生产时常用巴氏消毒法。()
椭圆=1(a>b>0)的左右焦点分别为F1,F2,若椭圆上一点P满足PF2⊥F1F2,且|PF1|=2|PF2|,则该椭圆的离心率为()。
微分方程y"+4y=4x一8的通解为___________.
Asetofgenesplayaroleinlearningtoreadanddomath,butthisabilityisnotjustgene-driven,【C1】______schoolingandhel
ThreeMainLiteraryFormsⅠ.PoetryEssentialfeatures:—formandmusic—evoking【1】【1】___
HowtoLearnLanguageSuccessfully【B1】______Theycanpickupnewvocabulary,masterrulesorgrammar,andlearntowritein
最新回复
(
0
)