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

Thread, der immer dann läuft, wenn eine CPU nichts zu tun hat. Mehr ...

#include <idlethread.h>

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

Öffentliche Methoden

 IdleThread (void *tos)
 
void action ()
 Methode, die als Thread ausgeführt werden soll. Mehr ...
 
- Öffentliche Methoden geerbt von Thread
 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 ...
 
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 ...
 
Waitingroomwaiting_in ()
 Hiermit kann abgefragt werden, in welchem Waitingroom Objekt der Thread eingetragen ist. Mehr ...
 
void waiting_in (Waitingroom *w)
 Mit dieser Methode wird im Thread vermerkt, dass dieser derzeit im Waitingroom w auf ein Ereignis wartet. Mehr ...
 

Weitere Geerbte Elemente

- Öffentliche Attribute geerbt von Thread
QueueLink< Threadqueue_link
 Verkettungszeiger für Scheduler und Waitingroom.
 
Waitingroomwaitingroom
 

Ausführliche Beschreibung

Thread, der immer dann läuft, wenn eine CPU nichts zu tun hat.

Die Verwendung von IdleThread vereinfacht die Behandlung von "däumchendrehenden" Prozessoren.

Zu beachten
Instanzen von IdleThread sollten nie in der Bereitliste des Schedulers auftauchen, sondern immer getrennt gehalten werden, da sie ja nur dann ausgeführt werden sollen, wenn kein normaler Thread mehr bereit ist.

Dokumentation der Elementfunktionen

◆ action()

void IdleThread::action ( )
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 Thread.


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