48class ARCCORE_CONCURRENCY_EXPORT NullThreadImplementation
53 friend class NullThreadImplementationFactory;
60 void _internalAddReference()
override
63 Arccore::ReferenceCounterImpl::_internalAddReference();
65 bool _internalRemoveReference()
override
68 return Arccore::ReferenceCounterImpl::_internalRemoveReference();
74 void addReference()
override { _internalAddReference(); }
75 void removeReference()
override { _internalRemoveReference(); }
79 ARCCORE_DEPRECATED_REASON(
"Y2023: This constructor is internal to Arcane. Use Concurrency::createNullThreadImplementation() instead")
80 NullThreadImplementation()
86 void initialize()
override {}
87 ThreadImpl* createThread(
IFunctor*)
override {
return nullptr; }
88 void joinThread(ThreadImpl*)
override {}
89 void destroyThread(ThreadImpl*)
override {}
91 void createSpinLock(
Int64* spin_lock_addr)
override
93 ARCCORE_UNUSED(spin_lock_addr);
95 void lockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
override
97 ARCCORE_UNUSED(spin_lock_addr);
98 ARCCORE_UNUSED(scoped_spin_lock_addr);
100 void unlockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
override
102 ARCCORE_UNUSED(spin_lock_addr);
103 ARCCORE_UNUSED(scoped_spin_lock_addr);
106 MutexImpl* createMutex()
override {
return nullptr; }
107 void destroyMutex(MutexImpl*)
override {}
108 void lockMutex(MutexImpl*)
override {}
109 void unlockMutex(MutexImpl*)
override {}
111 Int64 currentThread()
override {
return 0; }
125 bool m_do_destroy =
true;