Implémentation basique d'une file multi-thread. Plus de détails...
Fonctions membres publiques | |
void | push (void *v) override |
Ajoute v dans la file. | |
void * | pop () override |
Récupère la première valeur de la file et bloque s'il n'y en a pas. | |
void * | tryPop () override |
Récupère la première valeur s'il y en. Retourne nullptr sinon. | |
Attributs privés | |
std::queue< void * > | m_shared_queue |
std::mutex | m_mutex |
std::condition_variable | m_conditional_variable |
Membres hérités additionnels | |
Fonctions membres publiques statiques hérités de Arcane::MessagePassing::IAsyncQueue | |
static IAsyncQueue * | createQueue () |
Implémentation basique d'une file multi-thread.
Utilise un mutex pour protéger les appels.
Définition à la ligne 44 du fichier AsyncQueue.cc.
|
inlineoverridevirtual |
Récupère la première valeur de la file et bloque s'il n'y en a pas.
Implémente Arcane::MessagePassing::IAsyncQueue.
Définition à la ligne 60 du fichier AsyncQueue.cc.
Ajoute v dans la file.
Implémente Arcane::MessagePassing::IAsyncQueue.
Définition à la ligne 49 du fichier AsyncQueue.cc.
|
inlineoverridevirtual |
Récupère la première valeur s'il y en. Retourne nullptr
sinon.
Implémente Arcane::MessagePassing::IAsyncQueue.
Définition à la ligne 70 du fichier AsyncQueue.cc.
|
private |
Définition à la ligne 84 du fichier AsyncQueue.cc.
|
private |
Définition à la ligne 83 du fichier AsyncQueue.cc.
|
private |
Définition à la ligne 82 du fichier AsyncQueue.cc.