Description
Selects the execution model used when an Ada task is activated.
Example:
task Worker with CPU => 1 is
pragma Task_Info (Flyology.Lightweight_Task);
end Worker;
Execution_Model
subtype Execution_Model is System.Task_Info.Task_Info_Type;
Execution designation accepted by pragma Task_Info. The designation is fixed when a task is activated and cannot be changed afterwards.
Lightweight_Task
Lightweight_Task : constant Execution_Model;
Run the task cooperatively on an event loop. A CPU aspect in 0 .. 127 selects that shared execution group; no CPU selects the configured pool.
Native_Task
Native_Task : constant Execution_Model;
Run the task on its own GNARL-managed native thread. A CPU aspect keeps its normal Ada processor-affinity meaning.
Project_Default
Project_Default : constant Execution_Model :=
null;
Use the project-wide default selected while preparing the runtime. The compatibility default is Native_Task unless FLYOLOGY_DEFAULT changes it.