⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taskqueue.h

📁 vxworks操作系统的源代码 供研究学习
💻 H
字号:
/* TaskQueue *//* Copyright (c) 1999 Wind River Systems, Inc. *//*modification history--------------------01j,13nov01,nel  Change DEQUE to LIST.01i,03aug01,dbs  remove usage of Thread class01h,13jul01,dbs  fix up condvar/mutex usage01g,13jul01,dbs  fix up includes01f,28feb00,dbs  fix q-not-full name, add removeAll() method01e,21sep99,aim  changed API for activate01d,20sep99,aim  added Thread name parameter01c,13aug99,aim  added thread parameters01b,12aug99,aim  added queue length ctor parameter01a,29jul99,aim  created*/#ifndef __INCTaskQueue_h#define __INCTaskQueue_h#include "private/comMisc.h"#include "private/comStl.h"template <class T>class TaskQueue    {  public:    virtual ~TaskQueue ();    TaskQueue (size_t maxLength = 0);    virtual int activate	(	const char*	threadName = 0,	long		priority = 150,	size_t		stackSize = 0	);        virtual int open (void* = 0);    virtual int close ();    virtual int add (T);    virtual int remove (T&);    virtual void* serviceHandler ();    virtual size_t queueSizeSet (size_t maxLength);    virtual size_t queueSizeMax () const;    virtual size_t queueSize () const;    virtual bool queueIsFull ();    virtual int queueFullHandler ();    virtual int removeAll ();  private:    STL_LIST(T)		m_queue;    VxMutex	        m_queueLock;    VxCondVar		m_queueNotEmpty;    VxCondVar		m_queueNotFull;    size_t		m_queueMaxLength;        static void* threadHandler (void*);    TaskQueue (const TaskQueue& other);    TaskQueue& operator= (const TaskQueue& rhs);    };#include "TaskQueue.tcc"#endif // __INCTaskQueue_h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -