Start Run this thread pool.
74 {
76
79
84
86 {
88 int threadId = ptr->GetId();
89
90 m_Threads.emplace(threadId, std::move(ptr));
92 }
93
98
99 }
#define SPICES_PROFILE_ZONE
ThreadInitCallback m_ThreadInitCallback
ThreadInitCallback.
semaphore m_IsThreadsPrepared
ThreadsPrepared condition.
void ThreadFunc(Thread<> *thread)
Thread Function.
std::vector< EventLoop * > m_Loops
All threads EventLoop collection.
std::atomic_int m_IdleThreadSize
Idled thread size.
std::unordered_map< uint32_t, std::unique_ptr< Thread< Params... > > > m_Threads
Threads Container.
uint32_t m_InitThreadSize
Initialized thread size.
std::atomic_int m_NThreads
Threads Count.
std::atomic_bool m_IsPoolRunning
True if this thread pool is in use.
void Wait(int sign)
Wait this semaphore until it owns equal sign with given.