Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Der Thread ist das Objekt der Ablaufplanung. Mehr ...

#include <thread.h>

Klassendiagramm für Thread:
Zusammengehörigkeiten von Thread:

Öffentliche Methoden

 Thread (void *tos)
 Konstruktor. Mehr ...
 
void go ()
 Aktiviert den ersten Thread auf einem Prozessor. Mehr ...
 
void resume (Thread *next)
 Wechsel von dem aktuell laufenden Thread zum nächsten. Mehr ...
 
virtual void action ()=0
 Methode, die als Thread ausgeführt werden soll. Mehr ...
 
void set_kill_flag ()
 Setzen des Kill-Flags. Thread wechselt in den Zustand sterbend. Wird nur für MPStuBS benötigt. Mehr ...
 
void reset_kill_flag ()
 Zurücksetzen des Kill-Flags. Thread ist damit gestorben. Wird nur für MPStuBS benötigt. Mehr ...
 
bool dying ()
 Abfragen des Kill-Flags. Nachschauen, ob der Thread gerade stirbt. Wird nur für MPStuBS benötigt. Mehr ...
 

Öffentliche Attribute

QueueLink< Threadqueue_link
 Verkettungszeiger für Scheduler und Waitingroom.
 

Ausführliche Beschreibung

Der Thread ist das Objekt der Ablaufplanung.

Beschreibung der Konstruktoren und Destruktoren

◆ Thread()

Thread::Thread ( void *  tos)

Konstruktor.

Initialisiert den Kontext mit Hilfe von toc_settle

Parameter
tosTop of Stack, also die höchste Adresse des Speicherbereiches, der als Stack für diesen Thread fungieren soll.

Dokumentation der Elementfunktionen

◆ action()

virtual void Thread::action ( )
pure virtual

Methode, die als Thread ausgeführt werden soll.

Abgeleitete Klassen können durch Überschreiben dieser Methode den Code angeben, der als Thread ausgeführt werden soll.

Implementiert in Application und KeyboardApplication.

◆ dying()

bool Thread::dying ( )
inline

Abfragen des Kill-Flags. Nachschauen, ob der Thread gerade stirbt. Wird nur für MPStuBS benötigt.

◆ go()

void Thread::go ( )

Aktiviert den ersten Thread auf einem Prozessor.

Durch den Aufruf von Thread::go() wird der erste Thread auf dem jeweiligen Prozessor gestartet. Alle weiteren Threadwechsel sollen dann mit Hilfe der Methode Thread::resume() ausgeführt werden.

◆ reset_kill_flag()

void Thread::reset_kill_flag ( )
inline

Zurücksetzen des Kill-Flags. Thread ist damit gestorben. Wird nur für MPStuBS benötigt.

◆ resume()

void Thread::resume ( Thread next)

Wechsel von dem aktuell laufenden Thread zum nächsten.

Die aktuelle Belegung der nicht-flüchtigen Register wird in dem toc Element gesichert und durch die Werte von next (dem toc Element des nächsten Threads) ersetzt.

Parameter
nextZeiger auf den nächsten Thread, der laufen soll.

◆ set_kill_flag()

void Thread::set_kill_flag ( )
inline

Setzen des Kill-Flags. Thread wechselt in den Zustand sterbend. Wird nur für MPStuBS benötigt.


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