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: