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

学生网站开发大赛徐州建设网站公司

学生网站开发大赛,徐州建设网站公司,做net网站,建站网站免费消息队列完成进程间通信 #include myhead.h#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值ke…消息队列完成进程间通信  #include myhead.h#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值key_t key1;if((key1ftok(/,f))-1){perror(ftok error);}//创建第二个消息队列int msgid1;if((msgid1msgget(key1,IPC_CREAT|0664))-1){perror(msgget error);}//4、从消息队列中取数据msg_ds msg1; while(1){//从消息队列中取数据//第一个0表示取消息的类型每次都是取第一个//第二个0表示阻塞方式从消息队列中取数据if(msgrcv(msgid1,msg1,size,0,0)-1){perror(msgrcv error);}if(strcmp(msg1.data,quit)0){break;}printf(rcv: %s\n, msg1.data);}//删除消息队列msgctl(msgid1,IPC_RMID,NULL); } int main(int argc, const char *argv[]) {//1、创建key值key_t key;if((keyftok(/,k))-1){perror(fotk error);return -1;}//2、创造消息队列int msgid;if((msgidmsgget(key,IPC_CREAT|0664))-1){perror(msgget error);return -1;}//3、主线程向队列中发送数据msg_ds msg{.msgtype100};//定义一个线程号pthread_t tid;//创建一个子线程if(pthread_create(tid,NULL,task1,NULL)){printf(子线程创建失败\n);return -1;}while(1){//printf(请输入消息的内容);fgets(msg.data,sizeof(msg.data),stdin); //向终端进程中输入数据msg.data[strlen(msg.data)-1]\0; //将最后一个字符\n变成\0//将消息发到消息队列中if(msgsnd(msgid,msg,size,0)-1){perror(msgsnd error);return -1;}//当输入quit字符串时退出循环if(strcmp(msg.data,quit)0){break;}}//删除消息队列msgctl(msgid,IPC_RMID,NULL);return 0; } #include myhead.h#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值key_t key1;if((key1ftok(/,f))-1){perror(ftok error);}//创建第二个消息队列int msgid1;if((msgid1msgget(key1,IPC_CREAT|0664))-1){perror(msgget error);}//4、从消息队列中取数据msg_ds msg1{.msgtype100}; //4、从消息队列中取数据while(1){//printf(请输入消息的内容);fgets(msg1.data,sizeof(msg1.data),stdin); //向终端进程中输入数据msg1.data[strlen(msg1.data)-1]\0; //将最后一个字符\n变成\0//将消息发到消息队列中if(msgsnd(msgid1,msg1,size,0)-1){perror(msgsnd error);}//当输入quit字符串时退出循环if(strcmp(msg1.data,quit)0){break;}}//删除消息队列msgctl(msgid1,IPC_RMID,NULL); } int main(int argc, const char *argv[]) {//1、创建key值key_t key;if((keyftok(/,k))-1){perror(fotk error);return -1;}//2、创造消息队列int msgid;if((msgidmsgget(key,IPC_CREAT|0664))-1){perror(msgget error);return -1;}//3、主线程向队列中取数据msg_ds msg{.msgtype100};//定义一个线程号pthread_t tid;//创建一个子线程if(pthread_create(tid,NULL,task1,NULL)){printf(子线程创建失败\n);return -1;}while(1){//从消息队列中取数据//第一个0表示取消息的类型每次都是取第一个//第二个0表示阻塞方式从消息队列中取数据if(msgrcv(msgid,msg,size,0,0)-1){perror(msgrcv error);return -1;}if(strcmp(msg.data,quit)0){break;}printf(rcv: %s\n, msg.data);}//删除消息队列msgctl(msgid,IPC_RMID,NULL);return 0; }
http://www.dnsts.com.cn/news/168949.html

相关文章:

  • 莱州网站建设制作内网门户网站建设方案
  • 长沙鞋网站建设wordpress login 插件
  • 用lnmp做网站重庆亮哥做网站
  • 如何查看网站 是哪家做的企业官方网站建设运营方案
  • 网站开发毕业设计自己做海报的网站
  • 免费的asp网站河南如何优化网站
  • 网站开发企业官网建筑钢结构网站
  • 客户网站建设洽谈方案百度如何建网站
  • 广西网站建设介绍网络营销推广主要做什么?
  • 网站建设人力资源人员配置网站建设 锋云科技公司
  • 集团公司网站改版方案网站吸引力
  • 网站域名备案与不备案的区别网站上线后如何换模版
  • 游戏网站策划书山东省建设厅招标网站首页
  • 石家庄企业制作网站网页美工设计的四大原则
  • 在重庆找做网站的技术人员如何建设影视网站首页
  • 网站开发前端跟后端的区别ai智能ppt制作
  • 菏泽网站建设价格国外搜索引擎排名百鸣
  • 超市网站建设费用网站做成软件
  • 会网站开发想找兼职装修公司网站模版
  • 网站设计制作教程网站开发微信小程序需求量大吗
  • 淘宝上做网站行吗做肮脏交义的网站
  • 有没有做公司网站的西安标书制作
  • 眉山网站制作源码交易平台哪个最好
  • 如何登录ftp网站企业网站建设的服务类型有哪些
  • 上海优化网站seo公司怎么加快登录网站速度
  • 厂字型布局网站西安产品设计公司有哪些
  • 邦邻网站建设wordpress 画图插件
  • 货运公司网站源码小游戏网站开发需要什么技术
  • 陕西长城建设工程有限公司网站seo技术培训学校
  • 一个服务器可以建几个网站好用的wordpress企业模版