2016-08-08 52 views
0

Ich habe ein spezielles Programmierkonstrukt, das es Threads erlaubt zu warten, bis ein anderer Thread alle wartenden Threads auf einmal freigibt. Jeder Thread kann sich selbst registrieren, um auf ein externes Ereignis zu warten, das von einem anderen Thread ausgelöst werden kann (z. B. einem, der auf Benutzereingaben wartet). Sobald dieses Ereignis eintritt, können alle Threads fortfahren und werden sofort abgemeldet.Wie lautet der Name dieser Synchronisationsmethode?

Meine Frage ist: Wie heißt ein solches Konstrukt?

Zuerst dachte ich an Mutex, aber soweit ich weiß, ist ein Mutex ein Konstrukt, das nur einen Thread gleichzeitig laufen lässt (Siehe diesen Link).

Für mich klingt dieses Konstrukt wie ein Phaser in java, aber mein Konstrukt hat keine Zähllogik, also habe ich mich gefragt, was der richtige Wortlaut ist.

+0

Sie sind Wartegriffe. Sie sollten die Sprache angeben. –

+0

Dies ist in einer benutzerdefinierten Programmiersprache niemand wird hier wissen. – Adrodoc55

Antwort

0

Relevante Java und C# Klassen haben das Wort "Barriere" in ihnen, also könnte das sein, was Sie wollen.

+0

Nach dem [Javadoc of CyclicBarrier] (https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html) ist eine Barriere ein Konstrukt, in dem bis zu n Threads warten können . Die Barriere wird unterbrochen, sobald die Anzahl wartender Threads die konfigurierte Anzahl n erreicht hat. Das habe ich nicht, denn in meinem Fall muss die "Barriere" explizit gebrochen werden. – Adrodoc55