Принудительное завершение abort
Ада позволяет принудительно завершать выполнения объекта задачи.
Это может быть выполнено с помощью инструкции прекращения, которая может иметь следующий вид:
abort Some_Task_Name; |
Здесь Some_Task_Name - это имя какого-либо объекта задачи.
Считается, что принудительно прекращенная задача находится в "ненормальном" (abnormal) состоянии и не может взаимодействовать с другими задачами.
После того, как состояние задачи отмечено как "ненормальное", выполнение ее тела прекращается.
Это подразумевает, что прекращается выполнение любых инструкций, расположенных в теле задачи, за исключением тех, которые вызывают операции, отложенные до принудительного прекращения (abort-deffered operations).
Следует заметить, что использование принудительного прекращения выполнения задачи является "аварийным" действием, и должно применяться только в тех случаях, когда принудительное прекращение выполнения задачи действительно необходимо (например, когда задача "зависла").
Следует понимать, что использование такого "сильнодействующего" средства остановки для задач, которые выполняют сохранение каких-либо дисковых данных, может повлечь за собой не только потерю самих данных, но и повреждение логической структуры дискового накопителя.