greenplumn ITaskScheduler 源码
greenplumn ITaskScheduler 代码
文件路径:/src/backend/gporca/libgpos/include/gpos/task/ITaskScheduler.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2010 Greenplum, Inc.
//
// @filename:
// ITaskScheduler.h
//
// @doc:
// Interface class for task scheduling
//---------------------------------------------------------------------------
#ifndef GPOS_ITaskScheduler_H
#define GPOS_ITaskScheduler_H
#include "gpos/types.h"
namespace gpos
{
// prototypes
class CTask;
class CTaskId;
//---------------------------------------------------------------------------
// @class:
// ITaskScheduler
//
// @doc:
// Interface for abstracting task scheduling primitives.
//
//---------------------------------------------------------------------------
class ITaskScheduler
{
private:
public:
ITaskScheduler(const ITaskScheduler &) = delete;
// dummy ctor
ITaskScheduler() = default;
// dummy dtor
virtual ~ITaskScheduler() = default;
// add task to waiting queue
virtual void Enqueue(CTask *) = 0;
// get next task to execute
virtual CTask *Dequeue() = 0;
// check if task is waiting to be scheduled and remove it
virtual GPOS_RESULT Cancel(CTask *task) = 0;
// get number of waiting tasks
virtual ULONG GetQueueSize() = 0;
// check if task queue is empty
virtual BOOL IsEmpty() const = 0;
}; // class ITaskScheduler
} // namespace gpos
#endif /* GPOS_ITaskScheduler_H */
// EOF
相关信息
相关文章
greenplumn CAutoSuspendAbort 源码
greenplumn CTaskLocalStorage 源码
greenplumn CTaskLocalStorageObject 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦