george_xiaoqiao
georgeOfUSC
采纳率100%
2016-03-24 03:00 阅读 1.9k

linux下进程间通信,如何实现超时处理,有没有什么其他方案这个效果,让它不死等?

在linux环境下,在进程间通信时,比如“消息队列”,一般是没有超时处理的接口的,要不就是去接收,接收不到就一直死等,直到有数据过来才返回,要不就是去接收时,发现没有数据,则立即返回;
现在想实现让他去接收数据时,如果没有数据,则等待,等待一段时间后还没有数据到,则返回报错提示。
请问如何实现这个效果,或是在进程间通信方面有没有其他方案可以实现超时处理这个效果?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    oyljerry oyljerry 2016-03-24 12:41

    用非阻塞的api,然后自己定时判断超时

    点赞 1 评论 复制链接分享
  • NK_test NK_test 2016-03-24 04:41

    你试试select定时

    点赞 1 评论 复制链接分享
  • u012377333 一枪尽骚丶魂 2016-03-29 11:38

    可以设置为非阻塞的,比如等待1秒,然后重新去接受数据,就像socket的那样

    点赞 评论 复制链接分享

相关推荐