25 #include "tbb/task_scheduler_init.h" 30 static tbb::task_scheduler_init scheduler(tbb::task_scheduler_init::deferred);
36 static bool enabled =
false;
42 static std::atomic_int count(0);
48 static std::atomic_int count(0);
59 numthreads = tbb::task_scheduler_init::automatic;
66 ::Warning(
"ROOT_TImplicitMT_EnableImplicitMT",
"Implicit multi-threading is already enabled");
76 ::Warning(
"ROOT_TImplicitMT_DisableImplicitMT",
"Implicit multi-threading is already disabled");
void ROOT_TImplicitMT_DisableParTreeProcessing()
static void Initialize()
Initialize the Thread package.
static bool & GetImplicitMTFlag()
bool ROOT_TImplicitMT_IsParBranchProcessingEnabled()
void ROOT_TImplicitMT_EnableParTreeProcessing()
static std::atomic_int & GetParBranchProcessingCount()
bool ROOT_TImplicitMT_IsImplicitMTEnabled()
static std::atomic_int & GetParTreeProcessingCount()
static tbb::task_scheduler_init & GetScheduler()
void Warning(const char *location, const char *msgfmt,...)
void ROOT_TImplicitMT_DisableImplicitMT()
bool ROOT_TImplicitMT_IsParTreeProcessingEnabled()
void ROOT_TImplicitMT_DisableParBranchProcessing()
void ROOT_TImplicitMT_EnableParBranchProcessing()
void ROOT_TImplicitMT_EnableImplicitMT(UInt_t numthreads)