ExecutionModel specifying an mixed execution mode under
which tasks are executed synchronously in batches up
to a maximum size.
After a batch of tasks of the
recommended size is
executed, the next execution should be asynchronous,
forked on a different logical thread.
By specifying the ExecutionModel.recommendedBatchSize,
the configuration can be fine-tuned.
ExecutionModel that specifies a run-loop should always do
async execution of tasks, forking logical threads
on each step.
ExecutionModel specifying that execution should be
synchronous (immediate, trampolined) for as long as possible.