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

📄 task.h

📁 adeos嵌入式操作系统例子,值得一看
💻 H
字号:
/**********************************************************************
 *
 * Filename:    task.h
 * 
 * Description: Header file for the Task class.
 *
 * Notes:       
 *
 * 
 * Copyright (c) 1998 by Michael Barr.  This software is placed into
 * the public domain and may be used for any purpose.  However, this
 * notice must not be changed or removed and no warranty is either
 * expressed or implied by its publication or distribution.
 **********************************************************************/

#ifndef _TASK_H
#define _TASK_H


typedef unsigned char TaskId;
typedef unsigned char Priority;

enum TaskState { Ready, Running, Waiting };

class Task
{
    public:
  
        Task(void (*function)(), Priority, int stackSize);

        TaskId         id;
        Priority       priority;
        TaskState      state;
        Context        context;
        int *		   pStack;
        Task *         pNext;

        void  (*entryPoint)();

    private:

        static TaskId  nextId;
};


class TaskList
{
    public:

        TaskList();

        void    insert(Task * pTask);
        Task *  remove(Task * pTask);
 
        Task *  pTop;
};


#endif	/* _TASK_H */

⌨️ 快捷键说明

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