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

永乐网站建设wordpress编辑器共存

永乐网站建设,wordpress编辑器共存,如何在文本上做网站链接符号,网站做一个要多少钱概念 消息队列#xff0c;是消息的链接表#xff0c;存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。 特点 1.消息队列是面向记录的#xff0c;其中的消息具有特定的格式以及特定的优先级。#xff08;消息队列是结构体#xff09; 2.消息队列独立于发送与接…概念 消息队列是消息的链接表存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。 特点 1.消息队列是面向记录的其中的消息具有特定的格式以及特定的优先级。消息队列是结构体 2.消息队列独立于发送与接收进程。进程终止时消息队列及其内容并不会被删除。 3.消息队列可以实现消息的随机查询,消息不一定要以先进先出的次席读取,也可以按消息的类型读取。 两者的队列ID需相同才能成功实现存放数据和取数据如图都指向队列1的最后一个。 消息队列与管道的不同点写入读取后内容还存在于Linux内核中不会跟管道一样读取完就消失。 创建 从消息队列特点可知两个进程分别需要同队列ID相同的队列进行写入数据并读取数据此时要想成功创建一个消息队列需关心两个问题 问题一进程B如何添加消息到队列 问题二进程A如何读取队列的消息 头文件 #include sys/msg.h 常用API msgget() 创建或打开消息队列成功返回队列ID失败返回-1 int msgget(key_t key, int flag); key是一个索引值为非负数将通过索引值在Linux内核找到队列flag打开队列的方式 在以下两种情况下msgget将创建一个新的消息队列 1、如果没有与键值key相对应的消息队列并且flag中包含了IPC_CREAT标志位。 msgget(key,IPC_CREAT); 2、key参数为IPC_PRIVATE。 msgget(key,IPC_PRIVATE);msgsnd() 添加消息成功返回0失败返回-1 int msgsnd(int msqid, const void *ptr, size_t size, int flag);msqid消息队列的ID ptr写入的数据指向消息缓冲区的指针此位置用来暂时存储发送和接收的消息是一个用户可定义的通用结构形态如下 struct msgbuf {long mtype; //消息类型必须大于0char mtext[1];//消息文本 }; size数据的长度 flag0,表示忽略表示进程将被阻塞直到函数可以从队列中得到符合条件的消息为止还有许多此处省略 msgrcv() 读取消息成功返回消息数据的长度失败返回-1 int msgrcv(int msqid, void *ptr, size_t size, long type,int flag);msqid消息队列的ID ptr写入的数据指向消息缓冲区的指针此位置用来暂时存储发送和接收的消息是一个用户可定义的通用结构形态如下 struct msgbuf {long mtype; //消息类型必须大于0char mtext[1];//消息文本 }; type消息类型 type  0返回队列中的第一个消息type 0返回队列中消息类型为 type 的第一个消息type 0返回队列中消息类型值小于或等于 type 绝对值的消息如果有多个则取类型值最小的消息 可以看出type值非 0 时用于以非先进先出次序读消息。也可以把 type 看做优先级的权值。 size数据的长度 flag0,表示忽略表示进程将被阻塞直到函数可以从队列中得到符合条件的消息为止还有许多此处省略 代码展示 get.c #include stdio.h #include sys/types.h #include sys/ipc.h #include sys/msg.hstruct msgbuf {long mtype;char mtext[128]; };int main() {int msgId;//创建消息队列IDstruct msgbuf readBuf;//定义一个读取数据的结构体msgId msgget(1234,IPC_CREAT|0777);//在内核中打开或建立键值为1234的权限为0777的消息队列if(msgId -1)//如果创建失败则执行下面代码{printf(create queue failed\n);}msgrcv(msgId,readBuf,sizeof(readBuf.mtext),888,0);//从队列中获取888类型的数据并存放到结构体的mtext中如果队列中未出现888类型的数据则程序阻塞在这里这里的888需要与写入队列类型数据一致printf(read from queue:%s\n,readBuf.mtext);struct msgbuf sendBuf {999,thank you for reach\n};//读取完毕后将字符串内容写入到999类型的数据中这里的999类型需要与读取的类型数据一致msgsnd(msgId,sendBuf,strlen(sendBuf.mtext),0);//将上一行的结构体数据写入1234消息队列中return 0; }send.c #include stdio.h #include sys/types.h #include sys/ipc.h #include sys/msg.h #include string.hstruct msgbuf {long mtype;char mtext[128]; };int main() {int msgId;struct msgbuf sendBuf {888,this is message from queue\n};//将字符串内容写入到888类型的数据中这里的888类型需要与读取的类型数据一致struct msgbuf readBuf;msgId msgget(1234,IPC_CREAT|0777);if(msgId -1){printf(create queue failed\n);}msgsnd(msgId,sendBuf,strlen(sendBuf.mtext),0);//将结构体内容写入到1234消息队列中msgrcv(msgId,readBuf,sizeof(readBuf.mtext),999,0);//写入之后从队列中获取999类型的数据并存放到结构体的mtext中如果队列中未出现999类型的数据则程序阻塞在这里这里的999需要与写入队列类型数据一致printf(return form queue:%s\n,readBuf.mtext);return 0; }运行get.c创建并打开键值为1234的消息队列但此时表现为堵塞状态因为队列里没有888类型的数据 运行send.c创建并打开键值为1234的消息队列往队列里写入888类型的数据此时接收端会接受到写入端写入消息队列的数据并将其读取同时让接收端往队列里写入999类型的数据让写入段接受999类型的数据并读取
http://www.huolong8.cn/news/175959/

相关文章:

  • 什么网站做美食最好最专业重庆卓光科技有限公司
  • 音乐网站排名做网站外包工作怎么样
  • 专业设计网址青岛网站开发河南网络科技网站建设
  • 网站 活动页面会员卡管理系统自己做
  • 网站整站出售网站建设毕业设计评价
  • 手机网站建设推荐乐云seo南宁网站制作系统
  • 西安 网站建设 培训学校dw建网站怎么做
  • 怎么知道网站的空间服务商wordpress绑定手机验证
  • 网站建设读后感wordpress绿锁
  • 网站推广的工作内容十大电商代运营公司
  • icp网站建设做js链接的网站要加证书吗
  • 手机站喝茶影视微信开发app
  • 网站建设实训报告命名规范莱芜网页定制
  • 母婴电子商务网站建设系统开发策略主要有
  • 网站建设网站制作需要多少钱网站后台空白
  • 北京官方网站网北京竞价托管代运营
  • 帝国cms手机网站制作做网站花了三万块
  • 南宁美丽南方官方网站建设意见免费产品推广软件
  • 什么是网站评价如何调整wordpress页面的顺序
  • 彩票网站建设基本流程汕头网站建设优化
  • 建网站衡水哪家强?网站做蜘蛛池有用吗
  • 网站建设流程知乎谷歌seo外链
  • 湖南网站设计企业网站建设定金合同
  • 台州模板网建站怎么关键词优化网站
  • 免费模板网站建设什么是建站
  • 越秀网站建设价格网站上传后打不开
  • 凡科建站手机版登录湖南竞价优化哪家好
  • 乐昌北京网站建设中国建设网站中天建设平分数
  • 招聘 负责网站开发网站建设合同封面模板
  • 红酒网站定位衡阳市网站建设