Bounded Queue

Class Kata „Bounded Queue“

Entwickle eine Warteschlangenklasse mit begrenzter Länge für die Kommunikation zwischen mehreren Threads.

Lesende Threads entnehmen Elemente; falls die Queue leer ist, blockieren sie und warten auf das nächste Element.

Schreibende Threads fügen Elemente an; falls die Queue voll ist, blockieren sie und warten darauf, dass ein anderer Thread ein Element entnimmt.

Das Interface der Klasse soll so aussehen:

Beispiel einer Nutzung:

Vernachlässige Performancegesichtspunkte.

Variation #1

Erweitere die Klasse um zwei Funktionen:


Das Einstellen/Auslesen soll optional nur für eine gewisse Zeitspanne blockieren. Falls die Aktion in dieser Zeit erfolgreich ist, wird true zurückgeliefert, sonst false.