Reference documentation for deal.II version 9.0.0
|
#include <deal.II/base/thread_management.h>
Public Member Functions | |
TaskGroup & | operator+= (const Task< RT > &t) |
void | join_all () const |
Private Attributes | |
std::list< Task< RT > > | tasks |
A container for task objects. Allows to add new task objects and wait for them all together. The task objects need to have the same return value for the called function.
Note that the call to join_all() must be executed on the same thread as the calls that add subtasks. Otherwise, there might be a deadlock. In other words, a Task object should never passed on to another task for calling the join() method.
Definition at line 1996 of file thread_management.h.
|
inline |
Add another task object to the collection.
Definition at line 2002 of file thread_management.h.
|
inline |
Wait for all tasks in the collection to finish. It is not a problem if some of them have already been waited for, i.e. you may call this function more than once, and you can also add new task objects between subsequent calls to this function if you want.
Definition at line 2014 of file thread_management.h.
|
private |
List of task objects.
Definition at line 2025 of file thread_management.h.