Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::NullThreadImplementation Class Reference

Implementation of threads in single-threaded mode. More...

#include <arccore/concurrency/NullThreadImplementation.h>

Public Member Functions

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
 True if the implementation supports multiple threads.
Public Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()

Friends

class NullThreadImplementationFactory

Detailed Description

Implementation of threads in single-threaded mode.

Definition at line 48 of file NullThreadImplementation.h.

Constructor & Destructor Documentation

◆ NullThreadImplementation()

Arcane::NullThreadImplementation::NullThreadImplementation ( )
inline

Definition at line 80 of file NullThreadImplementation.h.

Member Function Documentation

◆ addReference()

void Arcane::NullThreadImplementation::addReference ( )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 74 of file NullThreadImplementation.h.

◆ createBarrier()

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

Implements Arcane::IThreadImplementation.

Definition at line 113 of file NullThreadImplementation.h.

◆ createMutex()

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

Implements Arcane::IThreadImplementation.

Definition at line 106 of file NullThreadImplementation.h.

◆ createSpinLock()

void Arcane::NullThreadImplementation::createSpinLock ( Int64 * spin_lock_addr)
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 91 of file NullThreadImplementation.h.

◆ createThread()

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

Implements Arcane::IThreadImplementation.

Definition at line 87 of file NullThreadImplementation.h.

◆ currentThread()

Int64 Arcane::NullThreadImplementation::currentThread ( )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 111 of file NullThreadImplementation.h.

◆ destroyMutex()

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

Implements Arcane::IThreadImplementation.

Definition at line 107 of file NullThreadImplementation.h.

◆ destroyThread()

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

Implements Arcane::IThreadImplementation.

Definition at line 89 of file NullThreadImplementation.h.

◆ initialize()

void Arcane::NullThreadImplementation::initialize ( )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 86 of file NullThreadImplementation.h.

◆ isMultiThread()

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

True if the implementation supports multiple threads.

In single-thread mode, only one thread executes. Therefore, there is no need to create synchronization management classes such as Mutexes or SpinLocks.

Reimplemented from Arcane::IThreadImplementation.

Definition at line 115 of file NullThreadImplementation.h.

◆ joinThread()

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

Implements Arcane::IThreadImplementation.

Definition at line 88 of file NullThreadImplementation.h.

◆ lockMutex()

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

Implements Arcane::IThreadImplementation.

Definition at line 108 of file NullThreadImplementation.h.

◆ lockSpinLock()

void Arcane::NullThreadImplementation::lockSpinLock ( Int64 * spin_lock_addr,
Int64 * scoped_spin_lock_addr )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 95 of file NullThreadImplementation.h.

◆ removeReference()

void Arcane::NullThreadImplementation::removeReference ( )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 75 of file NullThreadImplementation.h.

◆ unlockMutex()

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

Implements Arcane::IThreadImplementation.

Definition at line 109 of file NullThreadImplementation.h.

◆ unlockSpinLock()

void Arcane::NullThreadImplementation::unlockSpinLock ( Int64 * spin_lock_addr,
Int64 * scoped_spin_lock_addr )
inlineoverridevirtual

Implements Arcane::IThreadImplementation.

Definition at line 100 of file NullThreadImplementation.h.

◆ NullThreadImplementationFactory

friend class NullThreadImplementationFactory
friend

Definition at line 53 of file NullThreadImplementation.h.


The documentation for this class was generated from the following file: