StuBS
IdleThread Class Reference

Thread that is executed when there is nothing to do for this core. More...

#include <idlethread.h>

Inheritance diagram for IdleThread:
Collaboration diagram for IdleThread:

Public Member Functions

void action () override
 Wait for a thread to become ready and sleep in the meantime.
 
- Public Member Functions inherited from Thread
 Thread (void *tos)
 Constructor Initializes the context using prepareContext with the given stack space. More...
 
void go ()
 Activates the first thread on this CPU. More...
 
void resume (Thread *next)
 Switches from the currently running thread to the next one. More...
 
virtual void action ()=0
 Method that contains the thread's program code. More...
 
WaitingroomgetWaitingroom () const
 Returns the Waitingroom in which the thread is currently waiting. More...
 
void setWaitingroom (Waitingroom *w)
 Marks the thread as waiting for an event in Waitingroom w. More...
 

Additional Inherited Members

- Public Attributes inherited from Thread
volatile bool kill_flag
 Marker for a dying thread.
 
- Static Protected Member Functions inherited from Thread
static void kickoff (Thread *object)
 Function to start a thread. More...
 
- Protected Attributes inherited from Thread
Context context
 Context of the thread, used for saving and restoring the register values when context switching.
 

Detailed Description

Thread that is executed when there is nothing to do for this core.

Using the IdleThread simplifies the idea of waiting and is an answer to the questions that arise once the ready queue is empty.

Note
Instance of this class should never be inserted into the scheduler's ready queue, as the IdleThread should only be executed if there is no proper work to do.

The documentation for this class was generated from the following files: