Boost封装了消息队列,以便于多进程间传递消息:
1.创建消息队列:
#include <boost/interprocess/ipc/message_queue.hpp>
message_queue mq
(create_only/open_only/create_or_open
,"message_queue" //消息队列的名字
,100 //消息队列的长度
,sizeof(int) //单个消息的大小
);
2.发送消息
mq.send();
参数1:发送的数据的指针
参数2:数组的大小
参数3:消息优先级
3.接收消息
mq.receive();
参数1:接收消息的指针
参数2:接收消息缓存区的大小
参数3:接收到的消息的大小
参数4:消息优先级
4. 删除消息队列
message_queue::remove("message_queue");
//s.cpp
#include <boost/interprocess/ipc/message_queue.hpp>
#include <iostream>
#include <thread>
using