Name
task Class — Base class for tasks.
Synopsis
#include "tbb/task.h" class task;
Description
This class is the base class for tasks. Programmers are expected to derive classes from it and override the virtual method task*task::execute()
.
Each instance of task
has associated attributes, which are described in Table 9-3. Although
they are not directly visible, they must be understood to fully grasp how task objects are used.
Warning
Always allocate memory for task objects using the special overloaded new
operators provided by the library. Otherwise, results are undefined. Destruction of a task is normally implicit.
Table 9-3. Task attributes
Attribute |
Description |
---|---|
|
The worker thread that is currently in charge of the task. |
|
Either |
|
The depth of the task in the task tree. |
|
The number of tasks that have |
Tip
The copy constructor and assignment operators for task
are not accessible. This prevents the accidental copying of a task, which would be ill-defined and would corrupt internal data structures.
Notation
Some member descriptions illustrate the effects of running the methods by diagrams such as Figure 9-6.
Figure 9-6. Example effect diagram
Conventions in the diagram, such as Figure 9-6, are as follows:
Each task’s ...
Get Intel Threading Building Blocks now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.