Crow_Null
Crow_Null
2015-12-16 08:37
采纳率: 100%
浏览 3.1k

linux下消息队列, 如何在满足某种条件下将队列清空?

操作系统课上一个作业, 要求是用消息队列来实现某些功能
已知消息队列的特性 : 可以多个进程接受相同消息, 可知队列中的消息是不会消失的
目前所想的是用3个进程, 每个进程都有2个线程

1: 将消息发送到消息队列, 用while(1)不断等待读入
2: 从消息队列中接收消息, 用while(1)不断读取消息队列

如此类似一个群聊的功能

问题是 :
当某个进程送入消息, 3个进程都读取完毕后,
如何将队列中的消息清空?
而不是持续循环读取

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caohongjian130
    chj1300 2015-12-16 13:22
    已采纳

    读取一个消息,就把这个消息从队上取下来,把所有的消息都读取出来,队列就空了,

    点赞 评论
  • q3733353520

    可以设置一个标志位,判断是否有消息。

    点赞 评论
  • oyljerry
    oyljerry 2015-12-16 14:45

    设置一个信号量等 触发了就清空

    点赞 评论

相关推荐