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

浙江省建设监理协会网站做网站的前期准备

浙江省建设监理协会网站,做网站的前期准备,网店图片怎么制作,wordpress代码运行Linux系统编程#xff08;七#xff09;消息队列一、什么是消息队列二、消息队列内部原理三、实现消息队列的收发1.发送消息队列2.接收消息队列四、消息队列与命名管道的比较一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都… Linux系统编程七消息队列一、什么是消息队列二、消息队列内部原理三、实现消息队列的收发1.发送消息队列2.接收消息队列四、消息队列与命名管道的比较一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型接收进程可以独立地接收含有不同类型的数据结构。消息队列也有与管道一样的不足就是每个数据块的最大长度是有上限的系统上全体队列的最大总长度也有一个上限 二、消息队列内部原理 消息队列是消息的链表存放在内核中并由消息队列标识符表示。内核为每个IPC对象维护了一个数据结构structipc_perm用于标识消息队列让进程知道当前操作的是哪个消息队列。每一个msgid_ds表示–一个消息队列并通过msqid ds.msg_ first、 msg_ last维护一个先进先出的msg链表队列当发送一 一个消息到该消息队列时把发送的消息构造成一个msg的结构对象并添加到msqid_ ds.msg. first、 msg. last维护的链表队列 三、实现消息队列的收发 1.发送消息队列 代码如下示例 #include unistd.h #include stdlib.h #include stdio.h #include string.h #include sys/msg.h #include errno.h #define PUB_MSG_TYPE 10 #define MAX_TEXT 512 typedef struct msg_st {long int msg_type;char mtext[MAX_TEXT]; }MSG_T; typedef struct stu_t {char name[16];char context[16]; }STU_T;int main() {MSG_T msg;STU_T stu;int msgpid;strcpy(stu.name, zhangshan);strcpy(stu.context, hello);msg.msg_type PUB_MSG_TYPE;//拷贝memcpy(msg.mtext, stu,sizeof(STU_T));//创建消息队列msgpidmsgget(1111, IPC_CREAT | 0666);if (msgpid 0){perror(msgget error:);exit(1);}//发送消息队列msgsnd(msgpid, msg, sizeof(MSG_T), 0);return 0; }2.接收消息队列 #include unistd.h #include stdlib.h #include stdio.h #include string.h #include sys/msg.h #include errno.h #include iostream using namespace std; #define PUB_MSG_TYPE 10 #define MAX_TEXT 512 typedef struct msg_st {long int msg_type;char mtext[513]; }MSG_T; typedef struct stu_t {char name[16];char context[16]; }STU_T;int main() {MSG_T msg;STU_T stu;int msgpid;//创建消息队列msgpid msgget(1111, IPC_CREAT | 0666);if (msgpid 0){perror(msgget error:);exit(1);}//接收消息队列msgrcv(msgpid, msg,sizeof(MSG_T), PUB_MSG_TYPE,0);memcpy(stu, msg.mtext, sizeof(STU_T));cout msgtype msg.msg_type , name stu.name : stu.context;return 0; }四、消息队列与命名管道的比较 消息队列跟命名管道有不少的相同之处通过与命名管道一样消息队列进行通信的进程可以是不相关的进程同时它们都是通过发送和接收的方式来传递数据的。在命名管道中发送数据用write接收数据用read则在消息队列中发送数据用msgsnd接收数据用msgrcv。而且它们对每个数据都有一个最大长度的限制。 消息队列的优点 消息队列可以独立于发送和接受进程存在接收程序可以通过消息类型有选择地接收数据而不是像命名管道中那样只能默认地接收。
http://www.pierceye.com/news/225502/

相关文章:

  • 沙井品牌网站建设南宁网站提升排名
  • 网站空间备案要多久数商云是外包吗
  • 网站设计公司需要什么资质网站建设所需服务器
  • 织梦cms仿网站教程怎么做网站板块
  • 建设厅网站更改登陆密码wordpress主题 水墨
  • 彩云小梦ai写作网站机关网站建设情况汇报
  • 合肥专业网站优化手机界面设计素材
  • 台州网站建设惠店王烨烨
  • 工程建设比选公告固价方式网站wordpress html5的关系
  • 广州市网站建设 乾图信息科技潍坊市建设监理协会网站
  • 网站建优化网页脚本设计
  • 手机能访问电脑上自己做的网站吗网页设计作品到哪个网站
  • 网站推广成功案例城乡住房建设部官网查询
  • 养殖类网站模板那个网站的公众后推广做的好
  • 网站开发属于什么类型软件建站之星如何建网站
  • 微信做淘宝优惠券但网站是怎么建设但深圳市深圳市住房和建设局网站
  • 后端网站开发免费域名 网站
  • 综合信息网站建设方案网页浏览器排行榜前十名
  • 北京网站开发建设 58同城网站建设改版公司
  • 如何做网站预览网站设计线框图
  • 电子商务的网站的建设内容珠海自适应网站
  • 站酷海洛设计网站官网wordpress选了中文还是英文
  • 软件最全网站如何上传织梦做的网站
  • 做系统前的浏览网站能找回吗湖南网站建设价位
  • 工程服务建设网站那个网站可以做视频app制作
  • 国外网站访问速度慢企业网络营销策划案
  • 网站建设 亿安网络wordpress 调取菜单
  • 帝国网站管理系统安装教程互联网怎么做网站
  • 模板手机网站建设公司河南最新新闻事件今天
  • 企业网站备案要钱吗商标设计费用一般是多少