stamp.util.os
Class TaskManager
java.lang.Object
|
+--stamp.util.os.TaskManager
- public class TaskManager
- extends Object
Co-operative RTOS
This very basic RTOS that does round robin scheduling of tasks.
The TaskManager maintains a linked list of tasks. Each task in the list
can be in one of three states: STATE_STOPPED, STATE_READY, STATE_WAITING.
The TaskManager iterates around the list of tasks. Each time around the list
the execute() method of each task in the STATE_READY state is called and the
wait() method of each task in the STATE_WAITING state is called.
Tasks should not block, i.e. they should perform a short action and return
to give other tasks an opportunity to run.
Create your own tasks by subclassing the Task class and providing implementations
of the execute() and wait() methods.
Method Summary |
void |
addTask(Task aNewTask)
Add a task to task list. |
void |
run()
This method will run forever executing each task in the readyTask list
in a round robin fashion |
STATE_STOPPED
public static final int STATE_STOPPED
STATE_READY
public static final int STATE_READY
STATE_WAITING
public static final int STATE_WAITING
PUBLIC_STATES
public static final int PUBLIC_STATES
debug
public boolean debug
- Turns on debug mode which will print debugging messages.
currentTask
public Task currentTask
- The task which is currently being executed.
TaskManager
public TaskManager()
addTask
public void addTask(Task aNewTask)
- Add a task to task list.
- Parameters:
aNewTask
- the task to add to the list.
run
public void run()
- This method will run forever executing each task in the readyTask list
in a round robin fashion