Implémentation d'une barrière. Plus de détails...
Graphe d'héritage de Arcane::Concurrency::LegacyStdThreadBarrier:
Graphe de collaboration de Arcane::Concurrency::LegacyStdThreadBarrier:Fonctions membres publiques | |
| void | init (Integer nb_thread) override |
| Initialise la barrière pour nb_thread. | |
| void | destroy () override |
| Détruit la barrière. | |
| void | wait () override |
| Bloque et attend que tous les threads appellent cette méthode. | |
Attributs privés | |
| std::mutex | m_wait_mutex |
| std::condition_variable | m_wait |
| Integer | m_nb_thread = 0 |
| Integer | m_current_reached = 0 |
| Int32 | m_generation = 0 |
Implémentation d'une barrière.
Cette implémentation etait utilisée avant le support du C++20 lorsque la classe std::barrier n'existait pas.
Définition à la ligne 106 du fichier StdThreadImplementation.cc.
|
inlineoverridevirtual |
Détruit la barrière.
Implémente Arcane::IThreadBarrier.
Définition à la ligne 117 du fichier StdThreadImplementation.cc.
|
inlineoverridevirtual |
Initialise la barrière pour nb_thread.
Implémente Arcane::IThreadBarrier.
Définition à la ligne 111 du fichier StdThreadImplementation.cc.
|
inlineoverridevirtual |
Bloque et attend que tous les threads appellent cette méthode.
Implémente Arcane::IThreadBarrier.
Définition à la ligne 124 du fichier StdThreadImplementation.cc.
|
private |
Définition à la ligne 146 du fichier StdThreadImplementation.cc.
|
private |
Définition à la ligne 147 du fichier StdThreadImplementation.cc.
|
private |
Définition à la ligne 145 du fichier StdThreadImplementation.cc.
|
private |
Définition à la ligne 144 du fichier StdThreadImplementation.cc.
|
private |
Définition à la ligne 143 du fichier StdThreadImplementation.cc.