Dispatcher Klassenreferenz
Implementierung des Dispatchers.  
Mehr ...
#include <dispatch.h>
Aufstellung aller Elemente
|  | 
| 
 Öffentliche Methoden | 
|  | Dispatcher () | 
|  | Konstruktor. 
 | 
| Coroutine * | active () | 
|  | Hiermit kann abgefragt werden, welche Koroutine gerade im Besitz des aktuellen Prozessors ist. 
 | 
| void | go (Coroutine &first) | 
|  | Mit dieser Methode wird die Koroutine first im Life-Pointer des aktuellen Prozessores vermerkt und gestartet. 
 | 
| void | dispatch (Coroutine &next) | 
|  | Diese Methode setzt den Life-Pointer des aktuellen Prozessors auf next und führt einen Koroutinenwechsel vom alten zum neuen Life-Pointer durch. 
 | 
Ausführliche Beschreibung
Implementierung des Dispatchers. 
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. 
Beschreibung der Konstruktoren und Destruktoren
      
        
          | 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. 
 
 
Dokumentation der Elementfunktionen
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. |  
 
 
 
      
        
          | void Dispatcher::dispatch | ( | Coroutine & | 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. |  
 
 
 
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: