linux阻塞线程等待唤醒,linux – POSIX消息队列 – mq_send线程唤醒命令

有人可以向我解释消息队列如何处理唤醒多个

线程在单个消息队列中被阻止?

我的情况是我有多个作者阻止完整的消息

队列,每个发布优先级等于线程的消息

优先.我想确保他们按优先顺序叫醒和发布,

但是我的应用程序表现得像是按FIFO顺序唤醒

(即他们阻止的顺序).每个阻塞线程都是

使用具有不同优先级的SCHED_FIFO策略进行调度

系统级范围.

我搜索了互联网的高低,以寻找描述如何的东西

这应该工作,我所能找到的是描述它的POSIX手册页

如果优先级调度是多个阻塞,则按优先级顺序唤醒

支持的.由于内核调度程序是优先级调度程序

会认为线程会按优先级顺序唤醒并发布到

队列,但似乎并非如此.我敢肯定我

只是遗漏了一些微妙的细节,并希望专家在这里

这份清单可以帮助我了解我所看到的内容

这些线程准备好运行的内核级别.

我有一个小测试应用程序,如果有必要我可以在这里发布.它只是填充队列,然后有几个线程都尝试并写入它,所有线程优先级不同,并且发布的消息优先级等于线程优先级.然后我从队列中删除一条消息,并期望最高优先级的线程唤醒并发布其消息.但是,要等待的第一个线程首先发布其消息.

任何帮助或文档,任何人可以指出我,以便深入了解这个?

提前致谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值