当前位置: 首页 > news >正文

广州 创意的网站设计百度百度一下首页

广州 创意的网站设计,百度百度一下首页,广州建设工程网,新网站做外链一、 消息队列,是消息的链接表,存放在内核中。一个消息队列有一个人标识符(及队列ID)来标识。 1、特点: ①、消息队列是面向记录的,其中的消息具有特定的格式以及待定的优先级。 ②、消息队列独立与发送与…

一、

消息队列,是消息的链接表存放在内核中。一个消息队列有一个人标识符(及队列ID)来标识。

1、特点:
①、消息队列是面向记录的,其中的消息具有特定的格式以及待定的优先级
②、消息队列独立与发送与接收进程。进程终止时,消息队列及其内容并不会被删除。
③、消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。
2、原型:

#include <sys/msg.h>
//创建或打开消息队列:成功返回队列ID,失败返回-1
int msgget(key_t key,int flag);
//key索引值,flag打开队列的方式
//添加消息:成功返回0,失败返回-1
int msgsnd(int msqid,const void *ptr,size_t size,int flag);
//队列ID,消息,消息大小,标志位。
//读取消息:成功返回消息数据的长度,失败返回-1
int msgrcv(int msqid, void *ptr,size_t size,long type,int flag);
//队列ID,消息,消息大小,类型,标志位。
//控制消息队列:成功返回0,失败返回-1
int msgctl(int msqid,int cmd,struct msqid_ds *buf);
//队列ID,
//消息队列的移除

以下两种情况下:msgget将创建一个新的消息队列:
①、如果没有与键值key相对应的消息队列,并且flag中包含了IPC_CREAT标志位
②、key参数为IPC_PRIVATE。

函数msgrcv在读取消息队列时,type参数有以下几种情况:
①、type == 0,返回队列中的第一个消息
②、type > 0,返回队列中消息类型为type的第一个消息。
③、type < 0,返回队列中消息类型值小于或等于type绝对值的消息,如果有多个则取类型的最小值。

例:
获取,读

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>struct msgbuf{long mtype;char mtext[128];
};int main()
{struct msgbuf readBuf;int msgID = msgget(0x1234,IPC_CREAT|0777);//有队列就获取,没有就创建,| 权限可读可写可执行if(msgID == -1){printf("get que failure\n");}msgrcv(msgID,&readBuf,sizeof(readBuf.mtext),888,0);//接收printf("read from que :%s\n",readBuf.mtext);return 0;
}

发送

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <string.h>struct msgbuf{long mtype;char mtext[128];
};int main()
{struct msgbuf sendBuf = {888,"this is message from quen"};int msgID = msgget(0x1234,IPC_CREAT|0777);//有队列就获取,没有就创建,| 权限可读可写可执行if(msgID == -1){printf("get que failure\n");}msgsnd(msgID,&sendBuf,strlen(sendBuf.mtext),0);//发送数据return 0;
}

单运行获取get时会发生阻塞,需要运行发送send才可以继续运行

两个互相通信:

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <string.h>struct msgbuf{long mtype;char mtext[128];
};int main()
{struct msgbuf sendBuf = {888,"this is message from quen"};struct msgbuf readBuf;int msgID = msgget(0x1234,IPC_CREAT|0777);//有队列就获取,没有就创建,| 权限可读可写可执行if(msgID == -1){printf("get que failure\n");}msgsnd(msgID,&sendBuf,strlen(sendBuf.mtext),0);//发送数据msgrcv(msgID,&readBuf,sizeof(readBuf.mtext),988,0);//接收printf("reaturn from get :%s\n",readBuf.mtext);return 0;
}
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <string.h>struct msgbuf{long mtype;char mtext[128];
};int main()
{struct msgbuf readBuf;int msgID = msgget(0x1234,IPC_CREAT|0777);//有队列就获取,没有就创建,| 权限可读可写可执行if(msgID == -1){printf("get que failure\n");}msgrcv(msgID,&readBuf,sizeof(readBuf.mtext),888,0);//接收printf("read from que :%s\n",readBuf.mtext);struct msgbuf sendBuf = {988,"thank you for reach !"};msgsnd(msgID,&sendBuf,strlen(sendBuf.mtext),0);return 0;
}
http://www.mnyf.cn/news/37313.html

相关文章:

  • 戴尔的网站建设有哪些主要特色百度一下官方网址
  • 做系统之前的网站收藏在哪里看网络营销五个特点
  • 武汉网站制作成功案例百度招聘
  • 想学做网站学什么教程优化设计五年级上册语文答案
  • 仙游有人做网站百度主页网址
  • 电子商务工资多少钱一个月seo基础视频教程
  • 山东企业建站系统信息如何推广品牌
  • 网站建设术语seo的宗旨是什么
  • gzip网站优化百度品牌专区
  • 如何免费做网站推广百度提交入口的网址
  • 自己做网站 怎么解决安全问题企业网站优化服务
  • 门户网站建设分工的通知网站建设的推广渠道
  • 镇平哪家网站做的好开封网站优化公司
  • 温州今日头条新闻苏州seo网站优化软件
  • 广州正规网站建设企业今天特大新闻最新消息
  • 做淘宝券网站seo 360
  • 顺的网站建设信息怎么制作个人网站
  • 参考消息网苏州seo网站公司
  • 做网站实际尺寸是多少谷歌流量代理代理
  • 项目建设备案网站策划公司一般怎么收费
  • 烟台消防建设信息网站今天重大新闻头条新闻军事
  • 完美日记网络营销策略分析seo引擎搜索网站
  • 微信主题wordpress凯里seo排名优化
  • 湖南的商城网站建设百度app内打开
  • 大型网站建设报价方案电商seo优化是什么意思
  • ps制作网站模板头条搜索
  • 河北建设厅录入业绩的网站企业网站系统
  • 网站建设标签快速排名优化推广价格
  • 做关键词排名卖网站百度官网首页登录
  • h5响应式网站建设价格想做游戏推广怎么找游戏公司