Der Dispatcher lastet Threads ein und setzt damit die Entscheidungen der Ablaufplanung durch.
Mehr ...
#include <thread/dispatcher.h>
|
| Dispatcher () |
| Konstruktor. Mehr ...
|
|
Thread * | active () |
| Hiermit kann abgefragt werden, welche Koroutine gerade im Besitz des aktuellen Prozessors ist. Mehr ...
|
|
void | go (Thread *first) |
| Mit dieser Methode wird die Koroutine first im Life-Pointer des aktuellen Prozessores vermerkt und gestartet. Mehr ...
|
|
void | dispatch (Thread *next) |
| Diese Methode setzt den Life-Pointer des aktuellen Prozessors auf next und führt einen Koroutinenwechsel vom alten zum neuen Life-Pointer durch. Mehr ...
|
|
Der Dispatcher lastet Threads ein und setzt damit die Entscheidungen der Ablaufplanung durch.
- Zu beachten
- Der Dispatcher verwaltet den Life-Pointer, der die jeweils aktive Koroutine angibt und führt die eigentlichen Prozesswechsel durch. In der Uniprozessorvariante wird nur ein einziger Life-Pointer benötigt, da lediglich ein Prozess auf einmal aktiv sein kann. Für die Mehrprozessorvariante wird hingegen für jede CPU ein eigener Life-Pointer benötigt.
◆ Dispatcher()
Dispatcher::Dispatcher |
( |
| ) |
|
|
inline |
Konstruktor.
Der Konstruktor initialisiert den oder die Life-Pointer mit Null, um anzuzeigen, dass auf der jeweiligen CPU noch keine Koroutine bekannt ist.
- Noch zu erledigen:
- Konstruktor implementieren
◆ active()
Thread* Dispatcher::active |
( |
| ) |
|
|
inline |
Hiermit kann abgefragt werden, welche Koroutine gerade im Besitz des aktuellen Prozessors ist.
- Noch zu erledigen:
- Methode implementieren
◆ dispatch()
void Dispatcher::dispatch |
( |
Thread * |
next | ) |
|
Diese Methode setzt den Life-Pointer des aktuellen Prozessors auf next und führt einen Koroutinenwechsel vom alten zum neuen Life-Pointer durch.
- Parameter
-
next | Nächste auszuführende Koroutine. |
- Noch zu erledigen:
- Methode implementieren
◆ go()
void Dispatcher::go |
( |
Thread * |
first | ) |
|
Mit dieser Methode wird die Koroutine first im Life-Pointer des aktuellen Prozessores vermerkt und gestartet.
- Parameter
-
first | Erste auf dem aktuellen Prozessor zu startende Koroutine im System. |
- Noch zu erledigen:
- Methode implementieren
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: