开发者社区 > 云原生 > 消息队列 > 正文

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

操作系统课上一个作业, 要求是用消息队列来实现某些功能
已知消息队列的特性 : 可以多个进程接受相同消息, 可知队列中的消息是不会消失的
目前所想的是用3个进程, 每个进程都有2个线程
1: 将消息发送到消息队列, 用while(1)不断等待读入
2: 从消息队列中接收消息, 用while(1)不断读取消息队列
如此类似一个群聊的功能
问题是 :
当某个进程送入消息, 3个进程都读取完毕后,
如何将队列中的消息清空?
而不是持续循环读取

展开
收起
杨冬芳 2016-07-15 11:38:53 3552 0
1 条回答
写回答
取消 提交回答
  • IT从业

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

    2019-07-17 19:56:50
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关电子书

更多
从Linux系统内核层面来解决实际问题的实战经验 立即下载
基于消息队列RocketMQ的大型分布式应用上云最佳实践 立即下载
云原生消息队列Apache RocketMQ 立即下载