Geant4-11
Namespaces | Macros | Typedefs | Enumerations | Functions
Threading.hh File Reference
#include "PTL/Globals.hh"
#include "PTL/Types.hh"
#include <array>
#include <chrono>
#include <condition_variable>
#include <future>
#include <mutex>
#include <thread>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  PTL
 
namespace  PTL::ThisThread
 
namespace  PTL::Threading
 

Macros

#define MUTEX_INITIALIZER    {}
 
#define MUTEXDESTROY(mutex)
 
#define MUTEXINIT(mutex)
 
#define THREADSLEEP(tick)   std::this_thread::sleep_for(std::chrono::seconds(tick))
 

Typedefs

typedef std::condition_variable PTL::Condition
 
template<typename Tp >
using PTL::Future = std::future< Tp >
 
typedef std::mutex PTL::Mutex
 
typedef std::thread::native_handle_type PTL::NativeThread
 
typedef std::thread::id PTL::Pid_t
 
template<typename Tp >
using PTL::Promise = std::promise< Tp >
 
typedef std::recursive_mutex PTL::RecursiveMutex
 
template<typename Tp >
using PTL::SharedFuture = std::shared_future< Tp >
 
typedef std::thread PTL::Thread
 
typedef int(* PTL::thread_lock) (Mutex *)
 
typedef int(* PTL::thread_unlock) (Mutex *)
 
typedef void * PTL::ThreadFunArgType
 
typedef void * PTL::ThreadFunReturnType
 
typedef Thread::id PTL::ThreadId
 

Enumerations

enum  { PTL::Threading::SEQUENTIAL_ID = -2 , PTL::Threading::MASTER_ID = -1 , PTL::Threading::WORKER_ID = 0 , PTL::Threading::GENERICTHREAD_ID = -1000 }
 

Functions

unsigned PTL::Threading::GetNumberOfCores ()
 
Pid_t PTL::Threading::GetPidId ()
 
int PTL::Threading::GetThreadId ()
 
bool PTL::Threading::SetPinAffinity (int idx, NativeThread &at)
 
void PTL::Threading::SetThreadId (int aNewValue)
 
template<typename Tp , typename MutexTp = Mutex, size_t N = 4>
MutexTp & PTL::TypeMutex (const unsigned int &_n=0)
 

Macro Definition Documentation

◆ MUTEX_INITIALIZER

#define MUTEX_INITIALIZER    {}

Definition at line 81 of file Threading.hh.

◆ MUTEXDESTROY

#define MUTEXDESTROY (   mutex)
Value:
; \
;

Definition at line 86 of file Threading.hh.

◆ MUTEXINIT

#define MUTEXINIT (   mutex)
Value:
; \
;

Definition at line 83 of file Threading.hh.

◆ THREADSLEEP

#define THREADSLEEP (   tick)    std::this_thread::sleep_for(std::chrono::seconds(tick))

Definition at line 43 of file Threading.hh.