0
我正在使用系統V消息隊列。在我的程序中,一個線程不斷向消息隊列添加數據,另一個線程從消息隊列中取出數據。從消息隊列中按升序讀取數據
我的消息隊列結構格式是
struct mymsgbuf {
long mtype;
char mtext[MAX_SEND_SIZE];
};
當我從消息採取mtext
我需要得到的數據升序排列取決於tag
。
我的消息隊列接收
上述格式返回從第一數據送入消息隊列。
是否有任何技術以升序接收消息隊列?
您是否嘗試過posix郵件(「man mq_overview」),它具有與每封郵件相關的優先級。問題是在linux的posix消息隊列實現中你可以有32768個不同的優先級。 – rbelli
posix消息隊列的問題是我們只能存儲10條消息,所以如果我們不從隊列讀取數據,就會發生數據丟失,最少需要保存隊列中的25條消息 – sujin
您可以通過更改/ proc來更改消息限制/ SYS/FS/mqueue中/ msg_max – Duck