|
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().