12#ifndef ARCCORE_CONCURRENCY_CONCURRENCYGLOBAL_H
13#define ARCCORE_CONCURRENCY_CONCURRENCYGLOBAL_H
22#if defined(ARCCORE_COMPONENT_arccore_concurrency)
23#define ARCCORE_CONCURRENCY_EXPORT ARCCORE_EXPORT
24#define ARCCORE_CONCURRENCY_EXTERN_TPL
26#define ARCCORE_CONCURRENCY_EXPORT ARCCORE_IMPORT
27#define ARCCORE_CONCURRENCY_EXTERN_TPL extern
44class TaskFactoryInternal;
72namespace Arcane::Concurrency
78extern "C++" ARCCORE_CONCURRENCY_EXPORT IThreadImplementation*
79getThreadImplementation();
80extern "C++" ARCCORE_CONCURRENCY_EXPORT IThreadImplementation*
81setThreadImplementation(IThreadImplementation* impl);
86extern "C++" ARCCORE_CONCURRENCY_EXPORT Ref<IThreadImplementation>
87createGlibThreadImplementation();
89extern "C++" ARCCORE_CONCURRENCY_EXPORT Ref<IThreadImplementation>
90createStdThreadImplementation();
92extern "C++" ARCCORE_CONCURRENCY_EXPORT Ref<IThreadImplementation>
93createNullThreadImplementation();
109using Arcane::GlibThreadImplementation;
110using Arcane::GlobalMutex;
111using Arcane::IThreadBarrier;
112using Arcane::IThreadImplementation;
114using Arcane::MutexImpl;
115using Arcane::NullThreadBarrier;
116using Arcane::NullThreadImplementation;
117using Arcane::SpinLock;
118using Arcane::SpinLockImpl;
119using Arcane::ThreadImpl;
129namespace Arccore::Concurrency
131using Arcane::Concurrency::createGlibThreadImplementation;
132using Arcane::Concurrency::createNullThreadImplementation;
133using Arcane::Concurrency::createStdThreadImplementation;
134using Arcane::Concurrency::getThreadImplementation;
135using Arcane::Concurrency::setThreadImplementation;
#define ARCCORE_DECLARE_REFERENCE_COUNTED_CLASS(class_name)
Macro to declare that a class uses a reference counter.
Implementation of ITreadImplementation with 'Glib'.
Interface for a concurrent task.
Interface of a barrier between threads.
Interface of a thread management service.
Interface of a service implementing thread support.
Implementation of a single-threaded barrier.
Implementation of threads in single-threaded mode.
Characteristics of a multi-thread 1D loop.
Execution context of a task.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --