Arcane  v4.1.5.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Concurrency::LegacyStdThreadBarrier

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
 

Description détaillée

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.

Documentation des fonctions membres

◆ destroy()

void Arcane::Concurrency::LegacyStdThreadBarrier::destroy ( )
inlineoverridevirtual

Détruit la barrière.

Implémente Arcane::IThreadBarrier.

Définition à la ligne 117 du fichier StdThreadImplementation.cc.

◆ init()

void Arcane::Concurrency::LegacyStdThreadBarrier::init ( Integer nb_thread)
inlineoverridevirtual

Initialise la barrière pour nb_thread.

Implémente Arcane::IThreadBarrier.

Définition à la ligne 111 du fichier StdThreadImplementation.cc.

◆ wait()

void Arcane::Concurrency::LegacyStdThreadBarrier::wait ( )
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.

Documentation des données membres

◆ m_current_reached

Integer Arcane::Concurrency::LegacyStdThreadBarrier::m_current_reached = 0
private

Définition à la ligne 146 du fichier StdThreadImplementation.cc.

◆ m_generation

Int32 Arcane::Concurrency::LegacyStdThreadBarrier::m_generation = 0
private

Définition à la ligne 147 du fichier StdThreadImplementation.cc.

◆ m_nb_thread

Integer Arcane::Concurrency::LegacyStdThreadBarrier::m_nb_thread = 0
private

Définition à la ligne 145 du fichier StdThreadImplementation.cc.

◆ m_wait

std::condition_variable Arcane::Concurrency::LegacyStdThreadBarrier::m_wait
private

Définition à la ligne 144 du fichier StdThreadImplementation.cc.

◆ m_wait_mutex

std::mutex Arcane::Concurrency::LegacyStdThreadBarrier::m_wait_mutex
private

Définition à la ligne 143 du fichier StdThreadImplementation.cc.


La documentation de cette classe a été générée à partir du fichier suivant :