Geant4-11
|
#include <ThreadData.hh>
Public Types | |
template<typename Tp > | |
using | TaskStack = std::deque< Tp > |
Public Member Functions | |
ThreadData (ThreadPool *tp) | |
void | update () |
~ThreadData ()=default | |
Static Public Member Functions | |
static ThreadData *& | GetInstance () |
Data Fields | |
VUserTaskQueue * | current_queue = nullptr |
bool | is_main = false |
TaskStack< VUserTaskQueue * > | queue_stack = {} |
intmax_t | task_depth = 0 |
ThreadPool * | thread_pool = nullptr |
bool | within_task = false |
Definition at line 132 of file ThreadData.hh.
using PTL::ThreadData::TaskStack = std::deque<Tp> |
Definition at line 136 of file ThreadData.hh.
ThreadData::ThreadData | ( | ThreadPool * | tp | ) |
|
default |
|
static |
Definition at line 35 of file ThreadData.cc.
Referenced by PTL::UserTaskQueue::ExecuteOnAllThreads(), PTL::UserTaskQueue::ExecuteOnSpecificThreads(), PTL::internal::get_task_depth(), and PTL::ThreadPool::insert().
void ThreadData::update | ( | ) |
Definition at line 53 of file ThreadData.cc.
References current_queue, PTL::ThreadPool::get_queue(), queue_stack, and thread_pool.
Referenced by PTL::ThreadPool::execute_thread().
VUserTaskQueue* PTL::ThreadData::current_queue = nullptr |
Definition at line 148 of file ThreadData.hh.
Referenced by PTL::ThreadPool::execute_thread(), ThreadData(), and update().
bool PTL::ThreadData::is_main = false |
Definition at line 144 of file ThreadData.hh.
TaskStack<VUserTaskQueue*> PTL::ThreadData::queue_stack = {} |
Definition at line 149 of file ThreadData.hh.
Referenced by update().
intmax_t PTL::ThreadData::task_depth = 0 |
Definition at line 146 of file ThreadData.hh.
Referenced by PTL::internal::get_task_depth().
ThreadPool* PTL::ThreadData::thread_pool = nullptr |
Definition at line 147 of file ThreadData.hh.
Referenced by update().
bool PTL::ThreadData::within_task = false |
Definition at line 145 of file ThreadData.hh.
Referenced by PTL::ThreadPool::execute_thread(), and PTL::UserTaskQueue::InsertTask().