|
Peano
|
Data Structures | |
| class | SynchroniseActionSets |
| Marker which ends a group of action sets that run in parallel. More... | |
Functions | |
| List[List[ActionSet]] | get_task_groups (List[ActionSet] action_sets) |
| Split a sequence of action sets into groups which are invoked one after the other. | |
| List[List[ActionSet]] peano4.api.solversteps.SynchroniseActionSets.get_task_groups | ( | List[ActionSet] | action_sets | ) |
Split a sequence of action sets into groups which are invoked one after the other.
We run through the action sets in their order. Consecutive action sets with parallel=True form one group, i.e. they may run in parallel. An action set with parallel=False forms a group of its own and ends the current group. A peano4.api.solversteps.SynchroniseActionSets.SynchroniseActionSets ends the current group, too, but does not show up in any group.
For the sequence V1, V2, V3, V4, V5 with V1, V2, V4 and V5 being parallel, we get the groups [V1, V2], [V3] and [V4, V5]: The observer spawns V1 and V2 as tasks and waits for them, then invokes V3, and finally spawns V4 and V5 and waits for them.
| action_sets | [peano4.api.solversteps.ActionSet] Action sets in the order in which they are invoked. |
Definition at line 68 of file SynchroniseActionSets.py.