FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEthreadExecQueue Class Reference

Implements thread queues with multiple levels of priority. More...

#include <OMEexecQueue.h>

Public Member Functions

 OMEthreadExecQueue ()
 
 ~OMEthreadExecQueue ()
 
OME_FAST_CALL void addThreadToQueue (OMEthread *t, int prio=OME_DEFAULT_THREAD_PRIORITY)
 
OME_FAST_CALL bool removeSpecificThreadFromQueue (OMEthread *t, int prio=-1)
 
OME_FAST_CALL uint_fast16_t getNextThreads (OMEthread *v[], const uint_fast16_t maxWanted, uint_fast8_t *prio=nullptr, bool restartAtTop=true)
 
OME_FAST_CALL int terminateThreadsOnObject (const OMEobject *obj)
 
OME_FAST_CALL uint_fast32_t executeSlices (const uint_fast32_t maxCount)
 
OME_FAST_CALL uint_fast32_t parallelExecuteSlices (const uint_fast32_t maxCount)
 
uint_fast32_t totalQueuedAtLevel (uint_fast8_t l) const OME_ALWAYS_INLINE
 
uint_fast32_t totalQueued () const OME_ALWAYS_INLINE
 

Private Member Functions

OME_FAST_CALL void finishSlice (OMEthread *)
 

Private Attributes

_STD deque< OMEthreadPthreadList [OME_MAX_PRIORITY_LEVELS]
 
uint_fast32_t totalThreadsInQueue
 
uint_fast8_t lastLevel
 

Detailed Description

Implements thread queues with multiple levels of priority.

Constructor & Destructor Documentation

◆ OMEthreadExecQueue()

OMEthreadExecQueue::OMEthreadExecQueue ( )
inline

References lastLevel, and totalThreadsInQueue.

◆ ~OMEthreadExecQueue()

OMEthreadExecQueue::~OMEthreadExecQueue ( )
inline

Member Function Documentation

◆ addThreadToQueue()

◆ executeSlices()

◆ finishSlice()

void OMEthreadExecQueue::finishSlice ( OMEthread nextThread)
inlineprivate

◆ getNextThreads()

uint_fast16_t OMEthreadExecQueue::getNextThreads ( OMEthread v[],
const uint_fast16_t  maxWanted,
uint_fast8_t *  prio = nullptr,
bool  restartAtTop = true 
)

◆ parallelExecuteSlices()

uint_fast32_t OMEthreadExecQueue::parallelExecuteSlices ( const uint_fast32_t  maxCount)

References totalThreadsInQueue.

◆ removeSpecificThreadFromQueue()

bool OMEthreadExecQueue::removeSpecificThreadFromQueue ( OMEthread t,
int  prio = -1 
)

◆ terminateThreadsOnObject()

◆ totalQueued()

uint_fast32_t OMEthreadExecQueue::totalQueued ( ) const
inline

References totalThreadsInQueue.

◆ totalQueuedAtLevel()

uint_fast32_t OMEthreadExecQueue::totalQueuedAtLevel ( uint_fast8_t  l) const
inline

References l, and threadList.

Member Data Documentation

◆ lastLevel

uint_fast8_t OMEthreadExecQueue::lastLevel
private

◆ threadList

◆ totalThreadsInQueue


The documentation for this class was generated from the following files:
Generated: Tue Jul 28 2020 16:03:27
Support Information