14#include "arccore/concurrency/ConcurrencyGlobal.h"
17#include "arccore/base/ReferenceCounter.h"
19#include "arccore/base/NotSupportedException.h"
21#include "arccore/concurrency/ParallelFor.h"
22#include "arccore/concurrency/TaskFactory.h"
23#include "arccore/concurrency/ITaskImplementation.h"
24#include "arccore/concurrency/IThreadImplementationService.h"
25#include "arccore/concurrency/Task.h"
27#include "arccore/concurrency/NullThreadImplementation.h"
28#include "arccore/concurrency/SpinLock.h"
30#ifdef ARCCORE_HAS_GLIB
31#include "arccore/concurrency/GlibThreadImplementation.h"
50getThreadImplementation()
52 return global_thread_implementation.get();
62 global_thread_implementation = service;
64 global_thread_implementation = &global_null_thread_implementation;
72createGlibThreadImplementation()
74#ifdef ARCCORE_HAS_GLIB
77 throw NotSupportedException(A_FUNCINFO,
"GLib is not available Recompile Arccore with ARCCORE_ENABLE_GLIB=TRUE");
95createNullThreadImplementation()
97 return NullThreadImplementationFactory::create();
103void IThreadImplementation::
104_deprecatedCreateSpinLock(Int64* spin_lock_addr)
106 createSpinLock(spin_lock_addr);
112void IThreadImplementation::
113_deprecatedLockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
115 lockSpinLock(spin_lock_addr, scoped_spin_lock_addr);
121void IThreadImplementation::
122_deprecatedUnlockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
124 unlockSpinLock(spin_lock_addr, scoped_spin_lock_addr);
#define ARCCORE_DEFINE_REFERENCE_COUNTED_CLASS(class_name)
Macro pour définir les méthodes et types une classe qui utilise un compteur de référence.
Gestion des références à une classe C++.
static Int32 maxAllowedThread()
Nombre maximum de threads autorisés pour le multi-threading.
Int32 nbAllowedThread() const
Nombre de threads utilisés au maximum pour gérer les tâches.
Interface d'un service implémentant le support des threads.
Implémentation des threads en mode mono-thread.
Référence à une instance.
Encapsulation d'un pointeur avec compteur de référence.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Type entier signé sur 64 bits.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.
std::int32_t Int32
Type entier signé sur 32 bits.
Espace de nom de Arccore.