0
我們正在更換消息隊列的內部實現(由於總體設計的限制),我想用boost::interprocess::message_queue
作爲幾乎簡單的替換。消費boost :: interprocess :: message_queue多個應用程序是否安全?
然而,我們具有在該消息隊列是「滿」的情況下(消費應用程序已經斷開連接或落後)特定的要求,即「最老的」消息被丟棄。
我們可以這樣輕鬆地做到這一點:
do
{
if(sent = message_queue.try_send(...))
{
break;
}
else
{
message_queue.receive(...);
}
}
while(true);
但是,我無法找到在該國,這是安全的文件引用。這顯然不是消息隊列的傳統用法(從多個應用程序中使用它),但它能保證工作嗎?