#ifndef _TASK_QUEUE_H_
#define _TASK_QUEUE_H_
#include <string>
#include <queue>
#include <boost/thread.hpp>
template<class T>
class TaskQueue
{
public:
TaskQueue(){
queue_.clear();
}
virtual ~TaskQueue(){
};
/**
* @Appends the task to the queue
* @param the task object
**/
virtual void append(const T& _t){
thr_lck lck(mtx_);
queue_.push(_t);
}
/**
* @Return the current size of the queue
* @returns the queue size
**/
virtual size_t queueSize() const {
thr_lck lck(mtx_);
return queue_.size();
}
/**
* @Return the queue
* @returns the message queue
**/
virtual bool empty() {
thr_lck lck(mtx_);
return queue_.empty();
}
/**
* @Return the queue
* @returns the message queue
**/
virtu
C++队列模板使用std::queue
最新推荐文章于 2024-12-25 15:41:50 发布
本文介绍了如何使用C++实现一个线程安全的任务队列(TaskQueue)类,该类基于std::queue并引入了boost库进行线程同步。提供了包括添加任务、获取队列大小、判断队列是否为空、获取队列引用、获取队列最前面的任务以及弹出队列最前面任务等方法。

最低0.47元/天 解锁文章

651

被折叠的 条评论
为什么被折叠?



