2016-08-08 2 views
0

J'ai une construction de programmation spéciale qui permet aux threads d'attendre jusqu'à ce qu'un autre thread libère tous les threads en attente à la fois. Chaque thread peut s'inscrire lui-même pour attendre un événement externe qui peut être déclenché par un autre thread (par exemple celui qui écoute les entrées de l'utilisateur). Une fois que cet événement se produit, tous les threads peuvent continuer et sont immédiatement désenregistrés.Quel est le nom de cette méthode de synchronisation?

Ma question est: Qu'est-ce qu'une construction comme celle-ci appelée? Au début, je pensais au mutex, mais pour autant que je sache, un mutex est une construction qui ne permet qu'à un seul thread de fonctionner en même temps (voir ce lien https://www.quora.com/Semaphore-vs-mutex-vs-monitor-What-are-the-differences).

Pour moi, cette construction ressemble à un phaseur dans java, mais ma construction n'a pas de logique de comptage, donc je me demandais quel est le libellé correct.

+0

Ce sont des poignées d'attente. Vous devriez spécifier la langue. –

+0

Ceci est dans un langage de programmation personnalisé que personne ici ne saura. – Adrodoc55

Répondre

0

Les classes Java et C# concernées ont le mot «barrière», c'est peut-être ce que vous voulez.

+0

Selon le [javadoc de CyclicBarrier] (https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html) une barrière est une construction où jusqu'à n threads peuvent attendre . La barrière est rompue une fois que le nombre de threads en attente a atteint le nombre configuré n. Ce n'est pas ce que j'ai, car dans mon cas, la «barrière» doit être brisée explicitement. – Adrodoc55