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

品质培训网站建设东莞设计院

品质培训网站建设,东莞设计院,做发包业务网站,个人网站里在哪点击模版消息队列是消息的链表#xff0c;存放在内核中并有消息队列标示符标示。msgget用于创建一个新队列或打开一个现存的队列。msgsnd将新消息加入到消息队列中#xff1b;每个消息包括一个long型的type#xff1b;和消息缓存#xff1b;msgrcv用于从队列中取出消息#xff1b;…消息队列是消息的链表存放在内核中并有消息队列标示符标示。msgget用于创建一个新队列或打开一个现存的队列。msgsnd将新消息加入到消息队列中每个消息包括一个long型的type和消息缓存msgrcv用于从队列中取出消息取消息很智能不一定先进先出①msgget创建一个新队列或打开一个现有队列#include int msgget ( key_t key, int flag )//成功返回消息队列ID错误返回-1②msgsnd: 发送消息#include int msgsnd( int msgid, const void* ptr, size_t nbytes, int flag )//成功返回0错误返回-1a:   flag可以指定为IPC_NOWAIT;  若消息队列已满则msgsnd立即出错返回EABAIN若没指定IPC_NOWAIT msgsnd会阻塞直到消息队列有空间为止③msgrcv: 读取消息ssize_t msgrcv( int msgid, void* ptr, size_t nbytes, long type, int flag );a. type 0; 返回消息队列中第一个消息先进先出b. type 0    返回消息队列中类型为tpye的第一个消息c. type 0    返回消息队列中类型   |type| 的数据若这种消息有若干个则取类型值最小的消息消息队列创建步骤#define   MSG_FILE .struct msgtype {long mtype;char buffer[BUFFER1];};if((keyftok(MSG_FILE,a))-1){fprintf(stderr,Creat Key Error:%s\n, strerror(errno));exit(1);}if((msgidmsgget(key, IPC_CREAT | 0666/*PERM*/))-1){fprintf(stderr,Creat Message  Error:%s\n, strerror(errno));exit(1);}msg.mtype 1;strncpy(msg.buffer, argv[1], BUFFER);msgsnd(msgid, msg, sizeof(struct msgtype), 0);msgrcv(msgid, msg, sizeof(struct msgtype), 1, 0);示例代码#include #include #include #include #include #include #include #include #include #define   MSG_FILE .#define   BUFFER 255#define   PERM S_IRUSR|S_IWUSR#define IPCKEY 0x111struct msgtype {long mtype;char buffer[BUFFER1];};void* thr_test( void* arg ){struct msgtype msg;int msgid;msgid   *((int*)arg);printf(msqid %d  IPC_NOWAIT %d\n, msgid, IPC_NOWAIT);time_t tt time(0)8;//while( time(0) tt )//{msgrcv(msgid, msg, sizeof(struct msgtype), 1, 0);fprintf(stderr,Server Receive:%s\n, msg.buffer);msg.mtype 2;msgsnd(msgid, msg, sizeof(struct msgtype), 0);//}pthread_exit( (void*)2 );}int main(int argc, char **argv){struct msgtype msg;key_t key;int msgid;pthread_t tid;if(argc ! 2){fprintf(stderr,Usage:%s string\n, argv[0]);exit(1);}/*char path[256];sprintf( path, %s/, (char*)getenv(HOME) );printf( path is %s\n, path );msgidftok( path, IPCKEY );*/if((keyftok(MSG_FILE,a))-1){fprintf(stderr,Creat Key Error:%s\n, strerror(errno));exit(1);}if((msgidmsgget(key, IPC_CREAT | 0666/*PERM*/))-1){fprintf(stderr,Creat Message  Error:%s\n, strerror(errno));exit(1);}pthread_create( tid, NULL, thr_test, msgid );fprintf(stderr,msid is :%d\n, msgid);msg.mtype 1;strncpy(msg.buffer, argv[1], BUFFER);msgsnd(msgid, msg, sizeof(struct msgtype), 0);exit(0);}
http://www.yutouwan.com/news/208549/

相关文章:

  • 网站设计与程序方向星子网二手房
  • 不会编程能建网站网站后台密码错误
  • 网站建设html模板下载乌镇旅游攻略自由行
  • 教你如何建网站中文wordpress博客模板下载
  • 深圳 SEO 网站建设 哪里学创造力网站设计
  • 做视频付费网站肥西上派网站开发
  • 做电商网站是什么外贸出口网
  • 学校的二级网站怎么建设广东创粤建设有限公司网站
  • 刘淼 网站开发顺企网企业查询
  • 罗定市城乡规划建设局网站品牌整合营销传播方案
  • 昔阳做网站公司免费咨询服务协议
  • 做语音聊天网站要多少钱网站开发咨询
  • 自己做整个网站的流程怀化建设企业网站
  • 行业网络营销企业网站如何做seo
  • 汕头仿站定制模板建站网图识别在线百度
  • 网站建设制作设计seo优化湖北郑州少儿编程培训机构
  • 无锡 电子商务网站建设图片分享网站源码
  • 视频制作素材免费网站网站降权如何百度申诉
  • 东莞网站建设做网站陕西省建设网三类人员证书下载
  • flash做网站通栏旅游药都网站建设方案
  • 创立网站做电商加快建设乡镇招商网站
  • 商务网站设计与建设实训wordpress加速
  • 网站的配色方案网站建设 年终总结
  • 网站建设 app开发网站网站模板组件
  • 广告公司做的网站图片侵权如何制作h5页面视频
  • 西安做网站的公司餐饮品牌策划设计有限公司
  • 做网站模板全企网建站怎么样
  • pw网站更换域名移动建站优化
  • 手机版网站开发工具北京网站关键词排名
  • 云南旅游网站建设百度客户管理系统登录