Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::NullThreadImplementation

Implémentation des threads en mode mono-thread. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/concurrency/arccore/concurrency/NullThreadImplementation.h>

+ Graphe d'héritage de Arccore::NullThreadImplementation:
+ Graphe de collaboration de Arccore::NullThreadImplementation:

Fonctions membres publiques

void addReference () override
 
void removeReference () override
 
void initialize () override
 
ThreadImpl * createThread (IFunctor *) override
 
void joinThread (ThreadImpl *) override
 
void destroyThread (ThreadImpl *) override
 
void createSpinLock (Int64 *spin_lock_addr) override
 
void lockSpinLock (Int64 *spin_lock_addr, Int64 *scoped_spin_lock_addr) override
 
void unlockSpinLock (Int64 *spin_lock_addr, Int64 *scoped_spin_lock_addr) override
 
MutexImpl * createMutex () override
 
void destroyMutex (MutexImpl *) override
 
void lockMutex (MutexImpl *) override
 
void unlockMutex (MutexImpl *) override
 
Int64 currentThread () override
 
IThreadBarriercreateBarrier () override
 
bool isMultiThread () const override
 Vrai si l'implémentation supporte plusieurs threads.
 
- Fonctions membres publiques hérités de Arccore::ReferenceCounterImpl
void addReference ()
 
void removeReference ()
 
void _internalAddReference ()
 
bool _internalRemoveReference ()
 

Fonctions membres privées

ReferenceCounterImpl_internalReferenceCounter () override
 
void _internalAddReference () override
 
bool _internalRemoveReference () override
 
 NullThreadImplementation (bool)
 

Attributs privés

bool m_do_destroy = true
 

Amis

class NullThreadImplementationFactory
 

Description détaillée

Implémentation des threads en mode mono-thread.

Définition à la ligne 46 du fichier NullThreadImplementation.h.

Documentation des constructeurs et destructeur

◆ NullThreadImplementation() [1/2]

Arccore::NullThreadImplementation::NullThreadImplementation ( )
inline

Définition à la ligne 78 du fichier NullThreadImplementation.h.

◆ NullThreadImplementation() [2/2]

Arccore::NullThreadImplementation::NullThreadImplementation ( bool  )
inlineprivate

Définition à la ligne 118 du fichier NullThreadImplementation.h.

Documentation des fonctions membres

◆ _internalAddReference()

void Arccore::NullThreadImplementation::_internalAddReference ( )
inlineoverrideprivate

Définition à la ligne 58 du fichier NullThreadImplementation.h.

◆ _internalReferenceCounter()

ReferenceCounterImpl * Arccore::NullThreadImplementation::_internalReferenceCounter ( )
inlineoverrideprivate

Définition à la ligne 57 du fichier NullThreadImplementation.h.

◆ _internalRemoveReference()

bool Arccore::NullThreadImplementation::_internalRemoveReference ( )
inlineoverrideprivate

Définition à la ligne 63 du fichier NullThreadImplementation.h.

◆ addReference()

void Arccore::NullThreadImplementation::addReference ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 72 du fichier NullThreadImplementation.h.

◆ createBarrier()

IThreadBarrier * Arccore::NullThreadImplementation::createBarrier ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 111 du fichier NullThreadImplementation.h.

◆ createMutex()

MutexImpl * Arccore::NullThreadImplementation::createMutex ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 104 du fichier NullThreadImplementation.h.

◆ createSpinLock()

void Arccore::NullThreadImplementation::createSpinLock ( Int64 spin_lock_addr)
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 89 du fichier NullThreadImplementation.h.

◆ createThread()

ThreadImpl * Arccore::NullThreadImplementation::createThread ( IFunctor )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 85 du fichier NullThreadImplementation.h.

◆ currentThread()

Int64 Arccore::NullThreadImplementation::currentThread ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 109 du fichier NullThreadImplementation.h.

◆ destroyMutex()

void Arccore::NullThreadImplementation::destroyMutex ( MutexImpl *  )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 105 du fichier NullThreadImplementation.h.

◆ destroyThread()

void Arccore::NullThreadImplementation::destroyThread ( ThreadImpl *  )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 87 du fichier NullThreadImplementation.h.

◆ initialize()

void Arccore::NullThreadImplementation::initialize ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 84 du fichier NullThreadImplementation.h.

◆ isMultiThread()

bool Arccore::NullThreadImplementation::isMultiThread ( ) const
inlineoverridevirtual

Vrai si l'implémentation supporte plusieurs threads.

En mono-thread, seul un thread s'exécute. Il n'y a donc pas besoin de créer les classes gérant la synchronisation telles que les Mutex ou les SpinLock.

Réimplémentée à partir de Arccore::IThreadImplementation.

Définition à la ligne 113 du fichier NullThreadImplementation.h.

◆ joinThread()

void Arccore::NullThreadImplementation::joinThread ( ThreadImpl *  )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 86 du fichier NullThreadImplementation.h.

◆ lockMutex()

void Arccore::NullThreadImplementation::lockMutex ( MutexImpl *  )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 106 du fichier NullThreadImplementation.h.

◆ lockSpinLock()

void Arccore::NullThreadImplementation::lockSpinLock ( Int64 spin_lock_addr,
Int64 scoped_spin_lock_addr 
)
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 93 du fichier NullThreadImplementation.h.

◆ removeReference()

void Arccore::NullThreadImplementation::removeReference ( )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 73 du fichier NullThreadImplementation.h.

◆ unlockMutex()

void Arccore::NullThreadImplementation::unlockMutex ( MutexImpl *  )
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 107 du fichier NullThreadImplementation.h.

◆ unlockSpinLock()

void Arccore::NullThreadImplementation::unlockSpinLock ( Int64 spin_lock_addr,
Int64 scoped_spin_lock_addr 
)
inlineoverridevirtual

Implémente Arccore::IThreadImplementation.

Définition à la ligne 98 du fichier NullThreadImplementation.h.

Documentation des fonctions amies et associées

◆ NullThreadImplementationFactory

friend class NullThreadImplementationFactory
friend

Définition à la ligne 51 du fichier NullThreadImplementation.h.

Documentation des données membres

◆ m_do_destroy

bool Arccore::NullThreadImplementation::m_do_destroy = true
private

Définition à la ligne 124 du fichier NullThreadImplementation.h.


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