Files
dcapp/common/inc/queue.h
T
2025-03-12 17:09:02 +08:00

41 lines
1016 B
C++

/**
* @文件路径: \datacenter\datacenter\inc\queue.h
* @作者名称: zjp
* @文件版本: V1.0.0
* @创建日期: 2025-02-20 16:03:06
* @简要说明:
* @编辑时间: 2025-02-21 14:27:34
* @Copyright: 2025 Shenzhen ShenBao Electrical instruments CO.,LTD. All Rights Reserved.
*/
#ifndef _DCAPP_DATACENTER_QUENE_H_
#define _DCAPP_DATACENTER_QUENE_H_
#include <iostream>
#include <queue>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <chrono>
#include <string>
#include "msg.h"
// 消息队列类
class MessageQueue
{
private:
std::queue<msg_mqtt_t> _queue; // 存储消息的队列
std::mutex mtx; // 保护队列的互斥量
std::condition_variable cv; // 用于线程同步的条件变量
public:
MessageQueue();
~MessageQueue();
// 向队列中添加消息
void push(msg_mqtt_t message);
// 从队列中获取消息
msg_mqtt_t pop();
// 从队列中获取消息无阻塞
msg_mqtt_t pop_nonblock();
};
#endif