SpiecsEngine
 
Loading...
Searching...
No Matches

◆ RequireTask()

template<typename ... Params>
auto Spices::Thread< Params >::RequireTask ( ) -> ThreadTask
inline

Get this mutex.

Definition at line 420 of file ThreadPoolBasic.h.

421 {
423
424 std::unique_lock<std::mutex> lock(m_Mutex);
425
426 if (m_ThreadTasksQueue.empty())
427 {
428 m_IsInTask = false;
429 return nullptr;
430 }
431
432 auto ptr = m_ThreadTasksQueue.front();
433 m_ThreadTasksQueue.pop();
434 m_IsInTask = true;
436 return ptr;
437 }
#define SPICES_PROFILE_ZONE
std::queue< ThreadTask > m_ThreadTasksQueue
Thread Tasks Queue.
std::atomic_int m_ThreadTasks
Thread Tasks Count.
std::mutex m_Mutex
A Mutex for Thread.
std::atomic_bool m_IsInTask
True if this thread is executing a task.