Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
mt301_TTaskGroupSimple.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_legacy
3/// Shows how to run items of work asynchronously with a TTaskGroup.
4///
5/// \macro_code
6///
7/// \date August 2017
8/// \author Danilo Piparo
9
10void workItem0()
11{
12 printf("Running workItem0...\n");
13}
14
15void mt301_TTaskGroupSimple()
16{
17
19
20 // Create the task group and give work to it
22
23 tg.Run(workItem0);
24 tg.Run([]() { printf("Running workItem1...\n"); });
25
26 printf("Running something in the \"main\" thread\n");
27
28 // Wait until all items are complete
29 tg.Wait();
30
31 printf("All work completed.\n");
32}
A class to manage the asynchronous execution of work items.
void Run(const std::function< void(void)> &closure)
Add to the group an item of work which will be ran asynchronously.
void Wait()
Wait until all submitted items of work are completed.
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT's implicit multi-threading for all objects and methods that provide an internal paralleli...
Definition TROOT.cxx:613