sy1.c
来自「linux中接受和发送信息,分同步和异步,是操作系统的上机题」· C语言 代码 · 共 48 行
C
48 行
#include <stdio.h> #include <sys/types.h>#include <sys/msg.h>#include <sys/ipc.h>#define MSGKEY 75struct msgbuf { long mtype; /* message type, must be > 0 */ char mtext[100]; /* message data */ }msg;int qid;void server(){ qid=msgget(MSGKEY,0777|IPC_CREAT); do{ msgrcv(qid,&msg,100,0,0); printf("server receive\n"); }while(msg.mtype!=1); msgctl(qid, IPC_RMID,0); exit(0);} void client( ){ int i; do{ qid=msgget(MSGKEY,0777); }while(qid==-1); for(i=10;i>=1;i--) { msg.mtype=i; printf("client sent\n"); msgsnd(qid,&msg,99,0); /*发送消息msg入msgid消息队列*/ } exit(0);}int main(){ //printf("%d %d",IPC_NOWAIT, MSG_NOERROR); if(fork()) server(); else client( ); wait(0); wait(0); exit(0); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?