我对 Ada 中的“选择然后中止”语言结构有疑问。我正在使用的任务类似于:
select
delay 1.0;
do something with the partial result;
then abort
loop
...
long calculation
...
entry call to other task;
...
end loop;
end select;
中止分支中的代码是否可以在任何地方或仅在某些点(如延迟语句或入口调用)中止?在我的程序中,中止分支中的代码执行长时间计算,当中止时,部分计算结果仍然有用。但是如果代码可以在任何地方中断,就会出现数据不一致的问题。
谢谢