CQueue-Klasse
Die CQueue-Klassenvorlage implementiert eine einfache, statisch dimensionierte Warteschlange.
| Öffentliche Methoden | BESCHREIBUNG |
|---|---|
| CQueue | Konstruktormethode. |
| ~CQueue | Destruktormethode. |
| GetQueueObject | Ruft das nächste Element aus der Warteschlange ab. |
| PutQueueObject | Fügt ein Element in die Warteschlange ein. |
Bemerkungen
Der Klassenkonstruktor gibt die Größe der Warteschlange an. Verwenden Sie CQueue::P utQueueObject, um ein Element in die Warteschlange zu stellen, und die CQueue::GetQueueObject-Methode, um ein Element aus der Warteschlange zu nehmen. Wenn die Warteschlange voll ist, wird die PutQueueObject-Methode blockiert, bis ein Element aus der Warteschlange entfernt wird. Wenn die Warteschlange leer ist, wird getQueueObject blockiert, bis ein Element in die Warteschlange eingereiht wird. Der Vorlagenparameter gibt den Elementtyp an. Beispiel:
CQueue<int> number_queue;
number_queue.PutQueueObject(7);
Die -Klasse verwendet zwei Semaphore, um Warteschlangenvorgänge zu steuern: ein "get"-Semaphor und ein "put"-Semaphor. Die GetQueueObject-Methode wartet auf das "get"-Semaphor (mithilfe der WaitForSingleObject-Funktion) und gibt das "put"-Semaphor (mithilfe der ReleaseSemaphore-Funktion) frei. Die PutQueueObject-Methode wartet auf das "put"-Semaphor und gibt das "get"-Semaphor frei. Die -Klasse verwendet einen kritischen Abschnitt, um Warteschlangenvorgänge zwischen mehreren Threads zu serialisieren.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|