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

李杰老师网站建设北京商场有哪些地方

李杰老师网站建设,北京商场有哪些地方,网站seo什么意思,浙江网站建设技术公司目录 消息队列 创建消息队列 删除消息队列 发送消息和接收 消息队列 消息队列就是一个消息的列表#xff0c;进程可以在消息队列中添加消息和的读取消息 消息队列具有FIFO的特性#xff0c;具有无名管道与有名管道各自的优势#xff0c;可以支持任意两个进程的进程间通讯…目录 消息队列 创建消息队列 删除消息队列 发送消息和接收 消息队列 消息队列就是一个消息的列表进程可以在消息队列中添加消息和的读取消息 消息队列具有FIFO的特性具有无名管道与有名管道各自的优势可以支持任意两个进程的进程间通讯 就可以理解为打电话时双方专属的通道 创建消息队列 创建消息队列调用 msgget 函数。消息队列需要生成密钥理解为创建独一的电话线 函数头文件#include sys/types.h #include sys/ipc.h #include sys/msg.h函数原型 int msgget(key_t key, int msgflg); 函数功能获取System V消息队列标识符 [得到消息队列标识符或创建一个消息队列对象并返回消息队列标识符] 函数参数key:由ftok函数合成 msgflg:消息队列标志      [0取消息队列标识符若不存在则函数会报错]      IPC_CREAT 创建标志      如果内核中不存在键值与key相等的消息队列则新建一个消息队列如果存在这样的消息队 列返回此消息队列的标识符      [IPC_CREAT|IPC_EXCL: 如果消息队列存在,则报错 errno设置为EEXIST]      权限控制标志      IPC_CREAT | 0666 函数返回值 成功:返回消息队列id 失败:返回-1并设置errno 代码 #include string.h #include sys/types.h #include sys/ipc.h #include sys/msg.h #define PATHNAME . #define PROJ_ID 106 int main() {key_t key ftok(PATHNAME,PROJ_ID);if(key-1){perror(ftok);exit(EXIT_FAILURE);}int msgid msgget(key,IPC_CREAT | 0664);if(msgid -1){perror(msgget);exit(EXIT_FAILURE);}printf(msgid%d\n,msgid);return 0; }删除消息队列 删除消息队列需要调用 msgctl 函数 函数原型int msgctl(int msqid, int cmd, struct msqid_ds *buf); 函数参数 msqid:消息队列 id cmd:命令字  IPC_STAT:获取消息队列属性  IPC_SET:设置消息队列属性  IPC_RMID:删除消息队列用此命名时第三个参数为NULL buf:消息队列属性结构体对象指针 int msgid msgget(key,IPC_CREAT | 0664);if(msgid -1){perror(msgget);exit(EXIT_FAILURE);}printf(msgid%d\n,msgid);// 删除消息队列int ret msgctl(msgid,IPC_RMID,NULL);if(ret -1){perror(msgctl);exit(EXIT_FAILURE);}printf(delete msg successful.\n); 发送消息和接收 发送消息队列需要调用 msgsnd 函数 函数原型int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); msqid:消息队列ID  msgp:消息结构体指针  msgsz:消息内容的长度  msgflg:消息队列标志默认可以填0,IPC_NOWAIT,可以设置非阻塞 // 发送消息struct msgbuf msg;struct msgbuf* p_msgmsg;p_msg-mtypeMSG_TYPE;strcpy(p_msg-msgtext,Hello,first msg.);int ret msgsnd(msgid,(const void*)p_msg,strlen(p_msg- msgtext)1,0); 接收消息调用 msgrcv 函数 ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); msqid:消息队列id  msgp:消息结构指针  msgsz:最大读取的字节数  msgtyp:消息类型  msgflg:消息队列标志默认可以填0IPC_NOWAIT,可以设置非阻塞 //接收消息struct msgbuf msg;struct msgbuf* p_msgmsg;ssize_t rbytes msgrcv(msgid,(void*)p_msg,MSG_SZ,MSG_TYPE,0); 共享内存 什么是共享内存 共享内存是将分配的物理空间直接映射到进程的用户虚拟地址空间中减少数据在内核空间缓存 共享内存是一种效率较高的进程间通讯的方式 在 Linux 系统中通过 ipcs -m 查看所有的共享内存 创建共享内存 创建共享内存调用 shmget() 函数 函数原型int shmget(key_t key, size_t size, int shmflg); 函数功能创建一个共享内存,并返回ID 函数参数  key:由 ftok() 函数返回  size:共享内存的大小 shmflg:共享内存标志 #define PATH_NAME . #define PROJ_ID 110 #define SHM_SZ 1024 int main() {key_t key ftok(PATH_NAME,PROJ_ID);if(key -1){perror(ftok);exit(EXIT_FAILURE);}int shmid shmget(key,SHM_SZ,IPC_CREAT|0644);共享内存的删除 删除共享内存调用shmctl函数 int shmctl(int shmid, int cmd, struct shmid_ds *buf); 函数功能 共享内存控制函数,功能由具体的功能命令字决定 shmid:共享内存id  cmd:控制命令字  IPC_STAT:获取消息队列属性  IPC_SET:设置消息队列属性  IPC_RMID:删除消息队列属性,用此命名时第三个参数为NULL  buf:共享内存属性结构体指针 #define PATH_NAME . #define PROJ_ID 110 #define SHM_SZ 102 int main() { key_t key ftok(PATH_NAME,PROJ_ID);if(key -1){perror(ftok);exit(EXIT_FAILURE);}int shmid shmget(key,SHM_SZ,IPC_CREAT|0644);if(shmid-1){perror(shmget);exit(EXIT_FAILURE);}return 0; }共享内存映射与解除映射 共享内存映射调用shmat函数 void *shmat(int shmid, const void *shmaddr, int shmflg); 函数功能 将进程地址空间映射到共享内存上 函数参数 shmid:共享内存id shmaddr:指定映射到进程地址空间的起始地址指定为NULL时,由系统选择映射的地址 shmflg:共享内存标志,一般设置为0 解除共享映射调用 shmdt 函数 int shmdt(const void *shmaddr); 函数功能解除进程地址空间与共享内存的映射 函数参数 shmaddr:映射地址空间的起始地址 //共享内存映射void* addr shmat(shmid,NULL,0);if(addr (void*)-1){perror(shmat);exit(EXIT_FAILURE);}char buf[1024]{0};memcpy(buf,addr,10);printf(share memory content:%s\n,buf);shmdt(addr); // 解除绑定
http://www.hkea.cn/news/14469008/

相关文章:

  • 温州网站外包网站创建要多少钱
  • 美发网站带手机版网站建设教程菜鸟教程
  • 单位门户网站建设去韩国用什么地图导航
  • 中山网站建设制作 .超凡科技成都做网页公司
  • seo的培训网站哪里好html5 手机网站 教程
  • 成都 专业 网站建设绑定网站
  • 大连大连建设工程信息网站平原县网站建设
  • 万网主体新增网站备案需要是滴么丹阳市制作网站
  • 做俄罗斯外贸网站推广网站建设图片如何放在网站上
  • 网站页面那个图怎么做如何开网站
  • 情头定制网站自定义wordpress 登录
  • 网站备案多久通过苏州北京商场网站建设
  • 怎么做北京pk10的网站知名网页设计师
  • 自己做微信电影网站怎么做杭州平台网站建设
  • 惠州的企业网站建设做企业网站一般多少钱
  • 网站建设音乐代码深圳东门步行街图片
  • 佛山网站建设 骏域wordpress七牛云图床插件
  • 做仪表宣传哪个网站好ui设计培训机构哪个比较好
  • 桌面网站怎么做计算机学校全国排名
  • 怎麽做网站线上推广渠道
  • 建材营销型的网站中铁建设集团有限公司总部在哪
  • 深圳app网站设计模版 网站需要多少钱
  • 网站建设网站建设教程那些网站可以接私活做
  • 网站关键词排名seo进销存系统
  • 帝国网站模版网站建设静态部分总结
  • 收录网站工具做教育网站有什么好处
  • 网站建设与管理初级教学东莞网络营销型网站
  • 国外网站入口vs做网站怎样加数据库
  • 百度搜索不到自己的网站大连省建设厅网站
  • 网站没续费会怎样打开浏览器直接进入网站