35class ARCCORE_CONCURRENCY_EXPORT GlibThreadImplementation
43 GlibThreadImplementation();
44 ~GlibThreadImplementation()
override;
48 void initialize()
override;
52 ThreadImpl* createThread(
IFunctor* f)
override;
53 void joinThread(ThreadImpl* t)
override;
54 void destroyThread(ThreadImpl* t)
override;
56 void createSpinLock(
Int64* spin_lock_addr)
override;
57 void lockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
override;
58 void unlockSpinLock(
Int64* spin_lock_addr,
Int64* scoped_spin_lock_addr)
override;
60 MutexImpl* createMutex()
override;
61 void destroyMutex(MutexImpl*)
override;
62 void lockMutex(MutexImpl* mutex)
override;
63 void unlockMutex(MutexImpl* mutex)
override;
65 Int64 currentThread()
override;
71 void addReference()
override { ReferenceCounterImpl::_internalAddReference(); }
72 void removeReference()
override { ReferenceCounterImpl::_internalRemoveReference(); }
76 MutexImpl* m_global_mutex_impl;