|
CGraph
|
包含一个优先级队列成员,基于mutex_封装成一个原子的优先级队列,支持原子的tryPop/push/empty More...
#include <UAtomicPriorityQueue.h>


Public Member Functions | |
| UAtomicPriorityQueue ()=default | |
| CBool | tryPop (T &value) |
| CBool | tryPop (std::vector< T > &values, int maxPoolBatchSize) |
| CVoid | push (T &&value, int priority) |
| CBool | empty () |
Public Member Functions inherited from CObject | |
| CObject ()=default | |
| virtual CStatus | init () |
| virtual CStatus | destroy () |
| virtual | ~CObject ()=default |
Private Attributes | |
| std::priority_queue< std::unique_ptr< T > > | priority_queue_ |
Additional Inherited Members | |
Protected Member Functions inherited from UThreadObject | |
| CStatus | run () override |
Protected Member Functions inherited from UtilsObject | |
| CStatus | run () override |
Protected Attributes inherited from UQueueObject | |
| std::mutex | mutex_ |
| std::condition_variable | cv_ |
包含一个优先级队列成员,基于mutex_封装成一个原子的优先级队列,支持原子的tryPop/push/empty
| T |
|
default |
|
inline |
判定队列是否为空
|
inline |
传入数据
| value | |
| priority | 任务优先级,数字排序 |
|
inline |
尝试弹出多个任务
| values | |
| maxPoolBatchSize |
|
inline |
尝试弹出
| value |
|
private |