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

设计电子商务网站商务网站建设平台

设计电子商务网站,商务网站建设平台,wordpress 自建模版,4a广告公司消息队列:1、基于内核实现,必须在内核空间创建消息队列;2、消息队列中的消息由类型和正文组成;3、消息队列的默认大小为16KB;运行过程:1、进程1将消息写入到消息队列,进程2根据消息的类型从消息…
  • 消息队列:
  • 1、基于内核实现,必须在内核空间创建消息队列
  • 2、消息队列中的消息类型正文组成;
  • 3、消息队列的默认大小为16KB
  • 运行过程:
  • 1、进程1将消息写入到消息队列,进程2根据消息的类型从消息队列中取得对应的消息
  • 2、进程1向消息队列中发送消息,可以采用阻塞或者非阻塞的方式;
  • 3、进程2从消息队列中收取消息,也可以采用阻塞或者非阻塞的方式;
  • 常用的接口函数:
  • msgget函数:
  • 功能:创建或者获取一个消息队列;
	#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>int msgget(key_t key, int msgflg);/*参数:key:	键值key 	通过ftok获取的IPC_PRIVATE 表示只有亲缘进程间能只用msgflg:消息队列的标志位IPC_CREAT|0666  或者  IPC_CREAT|IPC_EXCL|0666 返回值:成功 消息队列的id失败 -1 重置错误码*/
  • msgsnd函数:
  • 功能:向消息队列中写入一条消息;
	int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);/*参数:msqid:消息队列的idmsgp: 要写入的数据的首地址msgsz:消息正文的大小msgflg:标志位 0 阻塞发送  IPC_NOWAIT 非阻塞发送返回值:成功 0失败 -1  重置错误码*/struct msgbuf {long mtype;       /* 消息的类型 必须大于 0 */char mtext[1];    /* 消息正文 可以自定义 */};
  • msgrcv函数:
  • 功能:在消息队列中读取一条消息;
	ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);/*参数:msqid:消息队列的idmsgp: 用来保存接收的数据的缓冲区的首地址msgsz:消息正文的大小msgtyp:要接受的消息的类型0 :接收消息队列中第一条消息>0 : 接收指定类型的第一条消息<0 :一般不使用,表示接收消息队列中第一条类型最小的小于msgtyp的绝对值的消息3-2-5-500-200-8读取时,类型传 -200读取的顺序  2-3-5 msgflg:标志位 0 阻塞接收  IPC_NOWAIT 非阻塞接收返回值:成功 实际读到的正文的字节数失败 -1  重置错误码*/struct msgbuf {long mtype;       /* 消息的类型 必须大于 0 */char mtext[1];    /* 消息正文 可以自定义 */};
  • msgctl函数:
  • 功能:控制消息队列;
	int msgctl(int msqid, int cmd, struct msqid_ds *buf);/*参数:msqid:消息队列idcmd:指令IPC_STAT:获取消息队列的属性IPC_SET:设置消息队列的属性IPC_RMID:立即删除消息队列只有消息队列的创建者和所有者以及root用户可以删除消息队列msgctl函数的第三个参数被忽略buff:返回值:成功 	0失败 	-1  	重置错误码*/
  • 获取和设置消息队列的属性:
  • 属性结构体:
	struct msqid_ds {struct ipc_perm msg_perm;     /* IPC权限结构体 */time_t          msg_stime;    /* 最后一次执行msgsnd的时间 */time_t          msg_rtime;    /* 最后一次执行msgrcv的时间 */time_t          msg_ctime;    /* 最后一次被修改的时间 */unsigned long   __msg_cbytes; /* 当前消息队列中的字节数 */msgqnum_t       msg_qnum;     /* 当前消息队列中的消息数 */msglen_t        msg_qbytes;   /* 允许的最大字节数 */pid_t           msg_lspid;    /* 最后一次执行msgsnd的进程的PID */pid_t           msg_lrpid;    /* 最后一次执行msgrcv的进程的PID */};struct ipc_perm {key_t          __key;       /* 键值 */uid_t          uid;         /* 所属用户的id */gid_t          gid;         /* 所属用户的组id */uid_t          cuid;        /* 创建者的id */gid_t          cgid;        /* 创建者的组id */unsigned short 	mode;        /* 权限 */};
  • 共享内存:
  • 1、同样在内核中创建共享内存;
  • 2、进程1和进程2都能够访问到,通过这段内存空间进行数据的传递;
  • 3、共享内存是所有进程间通信方式中,效率最高的,不需要在内核中往返进行拷贝
  • 4、共享内存的内存空间大小是4KB的整数倍
  • 信号灯集:
  • 1、实现进程同步的机制
  • 2、在一个信号灯集中,可以有很多信号灯;
  • 3、这些信号灯集中的信号灯相互独立,每个灯的值的改变都不会影响到其他的信号灯;
  • 4、信号灯的值一般设置为二值量,即0或者1,其中0代表没有资源,1代表有资源
http://www.yayakq.cn/news/948173/

相关文章:

  • .net网站费用东莞企业网站设计
  • 网站备案接入方式泉州网站建站推广
  • 吴江做网站网站底部悬浮代码
  • 网站建设shwzzz新闻头条最新消息今天
  • 做网站要源代码美食网站建设
  • 推广一个网站需要什么wordpress微信公众号开发教程视频
  • 普兰店网站建设网站推广方法是什么
  • 做家教网站如何招生如何微信做演讲视频网站
  • 电子商务网站建设的规划方案惠州建设工程造价管理站网站
  • 金溪网站建设推广网站建设用什么代码
  • 贵阳经济技术开发区网站网站收录很慢
  • vps可以用了做网站吗长沙地铁最新消息
  • 杭州网站建设品牌html购物网站设计论文
  • 一键制作单页网站常德网站公司
  • 汕头市潮南区紧急提醒网站优化排名软件哪些最好
  • 杭州制造业企业做网站网站建设为风险分析
  • 现在最流行的网站推广方式有哪些wordpress图册主题
  • 北京网站设计公司jx成都柚米科技15网站被黑能黑多长时间
  • 做网站会什么WordPress moe acg
  • 套模板的网站为什么排名做不上去wordpress 动作
  • 专业做网站和小程序微信公众号第三方平台有哪些
  • 网站主页不收录网站开发工程师的要求
  • 做电影网站怎么降低内存制作网站需要哪些知识
  • 化纤公司网站建设成品视频直播软件推荐哪个好一点非周马加
  • 咸阳做网站的公司有哪些长沙建设网站企业
  • 长春网站制作最新招聘信息如何建立营销网络
  • 如何让百度搜到自己的网站找客源用哪个软件好
  • 网站管理办法制度网站怎么做构成
  • 昆山网站建设详细方案免费wordpress主题分享
  • 贵阳网站建设方案维护在实际工作中最常用的网页制作工具