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

短视频素材下载网站 免费百度网盘做网站

短视频素材下载网站 免费,百度网盘做网站,三秦网,哔哩哔哩网页版官网消息队列完成进程间通信 #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((key1=ftok("/",'f'))==-1){perror("ftok error");}//创建第二个消息队列int msgid1;if((msgid1=msgget(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((key=ftok("/",'k'))==-1){perror("fotk error");return -1;}//2、创造消息队列int msgid;if((msgid=msgget(key,IPC_CREAT|0664))==-1){perror("msgget error");return -1;}//3、主线程向队列中发送数据msg_ds msg={.msgtype=100};//定义一个线程号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((key1=ftok("/",'f'))==-1){perror("ftok error");}//创建第二个消息队列int msgid1;if((msgid1=msgget(key1,IPC_CREAT|0664))==-1){perror("msgget error");}//4、从消息队列中取数据msg_ds msg1={.msgtype=100};	//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((key=ftok("/",'k'))==-1){perror("fotk error");return -1;}//2、创造消息队列int msgid;if((msgid=msgget(key,IPC_CREAT|0664))==-1){perror("msgget error");return -1;}//3、主线程向队列中取数据msg_ds msg={.msgtype=100};//定义一个线程号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.yayakq.cn/news/649058/

相关文章:

  • 赔率网站怎么做wordpress 添加icon
  • 本机网站建设一个备案号可以放几个网站
  • 徐州网站建设 网站制作做贸易要看什么网站
  • 做微信小程序和网站那个简单金馆长做图网站
  • 生产备案号怎么查询网站企业网站建设存在的典型问题有哪些?
  • 网站建设目录规范坪洲网站建设
  • 晋江做网站的公司博客论坛网站开发
  • 网站开发 适应 手机 电脑什么叫网页
  • 怎样如何做网站赚钱推广渠道
  • 微网站开发平台免费新手做电商哪个平台好
  • 网站怎么做免费推广方案设计用哪些网站
  • 石碣网站仿做政务移动门户网站建设方案
  • wordpress主题演示站点app代理推广平台
  • 十堰做网站的qq邮箱网页版登录
  • 自己用笔记本做网站做百度商桥网站
  • 诸城建设局网站用户体验好的网站
  • 临潼城市建设局网站分类网站 模板
  • 网站菜单 网站导航wordpress+媒体路径
  • 天津市建设工程定额网站常见的网络营销与推广的方式
  • 门户网站制作的公司网站建设v
  • 北京上海网站建设公司怎么生成域名做网站
  • 珠海网站设计公司公司网站还有用吗
  • 完本小说做多的网站wordpress 什么值得买 主题
  • 零起飞网站建设工作室国内新闻
  • 电子商务网站建设 名词解释如何注销网站备案
  • 绍兴网站seo外包加工网手工活
  • 热e国产-网站正在建设中-手机版汉邦未来网站建设
  • 做网站app怎么赚钱建设学校网站前的需求分析
  • 青岛网站建设与推广跨境电商是不是坑
  • 域名搭建网站优设网视频剪辑教程