Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::IThreadImplementationabstract

Interface d'un service implémentant le support des threads. Plus de détails...

#include <arccore/concurrency/IThreadImplementation.h>

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

Fonctions membres publiques

virtual void addReference ()=0
 
virtual void removeReference ()=0
 
virtual void initialize ()=0
 
virtual ThreadImpl * createThread (IFunctor *f)=0
 
virtual void joinThread (ThreadImpl *t)=0
 
virtual void destroyThread (ThreadImpl *t)=0
 
virtual void createSpinLock (Int64 *spin_lock_addr)=0
 
virtual void lockSpinLock (Int64 *spin_lock_addr, Int64 *scoped_spin_lock_addr)=0
 
virtual void unlockSpinLock (Int64 *spin_lock_addr, Int64 *scoped_spin_lock_addr)=0
 
virtual MutexImpl * createMutex ()=0
 
virtual void destroyMutex (MutexImpl *)=0
 
virtual void lockMutex (MutexImpl *mutex)=0
 
virtual void unlockMutex (MutexImpl *mutex)=0
 
virtual Int64 currentThread ()=0
 
virtual IThreadBarriercreateBarrier ()=0
 
virtual bool isMultiThread () const
 Vrai si l'implémentation supporte plusieurs threads.
 

Amis

class SpinLock
 
class ScopedLock
 
class ManualLock
 

Description détaillée

Interface d'un service implémentant le support des threads.

Ce service utilise un compteur de référence et doit être détruit s'il n'y a plus de références dessus. Il ne doit donc en général pas être détruit explicitement.

Définition à la ligne 36 du fichier arccore/src/concurrency/arccore/concurrency/IThreadImplementation.h.

Documentation des fonctions membres

◆ isMultiThread()

virtual bool Arccore::IThreadImplementation::isMultiThread ( ) const
inlinevirtual

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 dans Arccore::NullThreadImplementation.

Définition à la ligne 90 du fichier arccore/src/concurrency/arccore/concurrency/IThreadImplementation.h.

Documentation des fonctions amies et associées

◆ ManualLock

friend class ManualLock
friend

◆ ScopedLock

friend class ScopedLock
friend

◆ SpinLock

friend class SpinLock
friend

La documentation de cette classe a été générée à partir des fichiers suivants :