MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 属性 | 所有成员列表
common::SimpleQueue< T > 模板类 参考

一个十分简单的线程安全的任务队列 更多...

#include <simple_queue.h>

类 common::SimpleQueue< T > 继承关系图:
common::Queue< T >

Public 类型

using value_type = T
 
- Public 类型 继承自 common::Queue< T >
using value_type = T
 

Public 成员函数

int push (value_type &&value) override
 
int pop (value_type &value) override
 从队列中取出一个任务 更多...
 
int size () const override
 当前队列中任务的数量 更多...
 
virtual int push (value_type &&value)=0
 在队列中放一个任务 更多...
 
virtual int pop (value_type &value)=0
 从队列中取出一个任务 更多...
 
virtual int size () const =0
 当前队列中任务的数量 更多...
 

Private 属性

mutex mutex_
 
queue< value_type > queue_
 

详细描述

template<typename T>
class common::SimpleQueue< T >

一个十分简单的线程安全的任务队列

所有的接口都加了一个锁来保证线程安全。 如果想了解更高效的队列实现,请参考 Oceanbase 中 deps/oblib/src/lib/queue/ 的一些队列的实现

模板参数
T任务数据类型。

成员函数说明

◆ pop()

template<typename T >
int common::SimpleQueue< T >::pop ( value_type &  value)
overridevirtual

从队列中取出一个任务

参数
value任务数据
返回
int 成功返回0。如果队列为空,也不是成功的

实现了 common::Queue< T >.

◆ push()

template<typename T >
int common::SimpleQueue< T >::push ( value_type &&  value)
overridevirtual

实现了 common::Queue< T >.

◆ size()

template<typename T >
int common::SimpleQueue< T >::size
overridevirtual

当前队列中任务的数量

返回
int 对列中任务的数量

实现了 common::Queue< T >.


该类的文档由以下文件生成: