如果在 UNIX/Linux/BSD/OSX 下,我在应用程序 A 中使用以下 API 序列:
msgq_id = mq_open( full_queue_name,
O_RDWR | O_CREAT,
S_IRWXU | S_IRWXG,
&msgq_attr);
mq_send(msgq_id, ptrData1, len1, 0);
mq_send(msgq_id, ptrData2, len2, 0);
...
以及应用程序 B 中的这一系列事件:
mqd_t open_res = mq_open(full_queue_name, O_RDONLY);
...
mq_receive(...)
mq_receive(...)
...我能保证消息队列保持消息的顺序吗?也就是那个Application B会先从ptrData1接收数据,再从ptrData2接收数据?