OOStuBS - Technische Informatik II (TI-II)  2.4
Klassen | Öffentliche Methoden | Geschützte Methoden | Private Methoden | Private Attribute | Freundbeziehungen | Aufstellung aller Elemente
Scheduler Klassenreferenz

#include <scheduler.h>

Klassendiagramm für Scheduler:
Inheritance graph
[Legende]
Zusammengehörigkeiten von Scheduler:
Collaboration graph
[Legende]

Klassen

class  Idle

Öffentliche Methoden

Threadactive () const
void exit ()
 Remove the currently active thread from the queue.
void insert (Thread &that)
 Insert the specified thread into the queue.
 Scheduler ()
 Default Constructor clearing started flag.
void start ()
 Start the scheduling by starting the first thread.
void yield ()
 Yield to another ready thread.
 ~Scheduler ()
 Default Denstructor clearing started flag.

Geschützte Methoden

bool kill (Thread &that)
 Remove the specified thread from the queue of threads, killing the execution of this thread.
void next ()
 helper function stop the execution of the current thread and switch to next one
void reactivate (Thread &unblocked)
- Geschützte Methoden geerbt von Dispatcher
void dispatch (Thread &next)
 Switch to another thread.
 Dispatcher ()
void start (Thread &first)
 Starts the scheduling.

Private Methoden

void preempt ()
 helper function to yield unguarded to another thread

Private Attribute

Scheduler::Idle idle
bool started
 flag set upon start of scheduler
Queue threads
 Queue of threads that are ready to be processed.

Freundbeziehungen

void Watch::trigger ()

Ausführliche Beschreibung

Definiert in Zeile 28 der Datei scheduler.h.

Beschreibung der Konstruktoren und Destruktoren

Scheduler::Scheduler ( )

Default Constructor clearing started flag.

Definiert in Zeile 25 der Datei scheduler.cc.

Scheduler::~Scheduler ( )

Default Denstructor clearing started flag.

Definiert in Zeile 27 der Datei scheduler.cc.

Dokumentation der Elementfunktionen

Thread * Scheduler::active ( ) const
Noch zu erledigen:
docu

Erneute Implementation von Dispatcher.

Erneute Implementation in Organizer.

Definiert in Zeile 90 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Scheduler::exit ( )

Remove the currently active thread from the queue.

of thread and resumes with the next thread. If there are no more threads the scheduler starts an idle loop.

Definiert in Zeile 59 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Scheduler::insert ( Thread that)

Insert the specified thread into the queue.

of threads that are ready to be processed.

Parameter
thatreference to the thread to be inserted

Definiert in Zeile 44 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

bool Scheduler::kill ( Thread that)
protected

Remove the specified thread from the queue of threads, killing the execution of this thread.

Parameter
thatreference of the thread to be killed.

Definiert in Zeile 65 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void Scheduler::next ( )
protected

helper function stop the execution of the current thread and switch to next one

This helper function unifies the scheduling of the next thread

Definiert in Zeile 50 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Scheduler::preempt ( )
private

helper function to yield unguarded to another thread

This helper function is used by watch to preempt the currently running thread.

Definiert in Zeile 78 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Scheduler::reactivate ( Thread unblocked)
protected
Noch zu erledigen:
docu

Definiert in Zeile 86 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void Scheduler::start ( )

Start the scheduling by starting the first thread.

Definiert in Zeile 31 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Scheduler::yield ( )

Yield to another ready thread.

Definiert in Zeile 73 der Datei scheduler.cc.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Freundbeziehungen und Funktionsdokumentation

void Watch::trigger ( )
friend

Dokumentation der Datenelemente

Scheduler::Idle Scheduler::idle
private
bool Scheduler::started
private

flag set upon start of scheduler

Definiert in Zeile 34 der Datei scheduler.h.

Queue Scheduler::threads
private

Queue of threads that are ready to be processed.

Definiert in Zeile 31 der Datei scheduler.h.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: