LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 816|回复: 1

为什么posix队列的收发信息必须手动sleep一下才可以。。

[复制链接]
发表于 2009-8-26 12:41:26 | 显示全部楼层 |阅读模式
通信双方都可以读写。

用 mq_recive()阻塞在那里。
然后 每次收到处理一下 在mq_send回去.

1)c->s 成功
2)s->c 成功
3)c->s c成功 s收不到
终止。。。

1)c->s 成功
2)s->c 成功
sleep 1
3)c->s 成功
以后每次 sleep 1 才可以循环下去
发表于 2009-8-29 21:50:55 | 显示全部楼层
这是利用sleep系统调用给操作系统机会做进程切换吧。可以试试用select或poll替代。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表