【发布时间】:2015-11-30 08:29:40
【问题描述】:
我正在尝试创建一个整数数组,可以在任务内部访问。
with CPU=>CPUs(1) 不起作用,因为任何表达式都不起作用。
不过,普通整数可以正常工作。
procedure Lab1 is
n: Integer:=222;
CPUs: array (1..3) of Integer := (1, 1, 1);
pri: array (1..3) of Integer := (1, 5, 10);
task T3
with CPU=>1+1
is
pragma Priority(pri(1));
pragma Task_Name ("T3");
end T3;
task body T3 is
int1:Integer:=generate_random_number(4)+n;
我看了that 应该是可以的。
为任务提供处理器的表达式可以是动态的。
添加use System.Multiprocessors.CPU_Range; 给我:
Lab1.ada:20:05:“系统”不可见 Lab1.ada:20:05:不可见 system.ads:37 Lab1.ada:22:11 处的声明:警告:文件名确实 与单位名称不匹配,应为“lab1.adb” Lab1.ada:30:14:运算符 类型“System.Multiprocessors.CPU_Range”不直接可见 Lab1.ada:30:14: use 子句将使操作合法
【问题讨论】:
标签: parallel-processing task cpu ada multitasking