Implémentation basique d'une file multi-thread. Plus de détails...
Graphe d'héritage de Arcane::MessagePassing::SharedMemoryBasicAsyncQueue:
Graphe de collaboration de Arcane::MessagePassing::SharedMemoryBasicAsyncQueue: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.
|
inlineoverridevirtual |
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.