当前位置: 首页 > 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.sczhlp.com/news/69499/

相关文章:

  • 网站怎么创建内容设备高端网站建设
  • 2025暑假集训总结wwl
  • 法三、根据20250901 - 1-单版本(删解析和答案).py里的代码优化。
  • 做特效很牛的一个外国网站公司网站如何建设教学视频
  • 福州网站建设外贸山东建设厅网站
  • 给网站增加功能怎么做免费建网站代码
  • 建设一个网站价格中国外协加工网免费
  • 国内设计欣赏网站广州seo搜索
  • 广告设计师工作内容seocms
  • 临沂做网站的德州做网站公司电话
  • 如何用云指做自己的网站公司网站推广的方法
  • 北京顺义做网站玉树网站建设
  • 做淘宝联盟必须要有网站吗广东网站推广公司
  • 网上书店网站建设毕业设计范文定远建设小学网站
  • 网站维护和建设实报告开发者模式关掉好还是开着好
  • 北京专业制作网站公司哪家好旅游手机网站模板
  • 企必搜做网站网站公司上海
  • 企业网站设计价格龙岩网站设计 贝壳下拉
  • 河源网站制作wordpress上传后如何访问
  • 搜狐快站做淘宝客网站物联网官网
  • 服务器做网站好dede网站地图制作
  • 网站是什么软件网络培训平台有哪些
  • 专业的广州手机网站网站制作企
  • windows2008 网站部署刷粉网站推广便宜
  • 专业网站建设联系网站建站建设价格
  • wordpress 问号网络营销优化推广公司
  • 2025暑期集训总结wwl
  • Lumion下载安装包 Lumion Pro 12.0超详细保姆级下载安装激活教程(附安装包及激活教程)
  • 婴儿网站建设住栏目wordpress置顶失效
  • 手机网站导航插件网站 的建设意义