[英]excluding multiple message using MSG_EXCEPT at once in msgrcv()
我正在使用 msgrcv() 從隊列中讀取消息。 有多個線程,每個線程處理來自公共隊列的自己的消息類型。 假設有 3 個線程分別處理消息類型 A、B 和 C,如下所示:`
thread1()
{
msg_t msg;
while(1)
{
msgrcv(qid, msg, sizeof(msg), A, 0)
.
.
}
}
.
.
thread2()
{
msg_t msg;
while(1)
{
msgrcv(qid, msg, sizeof(msg), B, 0)
.
.
}
}
.
.
thread3()
{
msg_t msg;
while(1)
{
msgrcv(qid, msg, sizeof(msg), C, 0)
.
.
}
}
`
現在我想要第四個線程可以接收除這三個之外的所有消息。 可以使用 MSG_EXCEPT 標志來實現嗎?
謝謝。
我不知道如何使用“MSG_EXCEPT”標志一次排除多種消息類型。
可以使用 MSG_EXCEPT 標志來實現嗎?
不,它不能。 相反,如果您可以安排 A、B 和 C 大於所有其他使用的消息類型,則可以通過指定小於 A、B 和C的負數來實現目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.