ControlledExecution.Run(Action, CancellationToken) Метод

Определение

Внимание!

ControlledExecution.Run method may corrupt the process and should not be used in production code.

Выполняет код, который можно прервать асинхронно.

public:
 static void Run(Action ^ action, System::Threading::CancellationToken cancellationToken);
[System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void Run(Action action, System.Threading.CancellationToken cancellationToken);
[<System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Run : Action * System.Threading.CancellationToken -> unit
Public Shared Sub Run (action As Action, cancellationToken As CancellationToken)

Параметры

action
Action

Делегат, представляющий выполняемый код.

cancellationToken
CancellationToken

Маркер отмены, который можно использовать для прерывания выполнения.

Атрибуты

Исключения

Метод не поддерживается на этой платформе.

Аргумент action имеет значение null.

Текущий Run(Action, CancellationToken) поток уже выполняет метод.

Выполнение было прервано.

Комментарии

Этот метод позволяет прервать произвольный управляемый код несотрудно, создав исключение в потоке, выполняющем этот код. Хотя исключение может быть поймано кодом, он повторно создается в конце блоков до тех пор catch , пока поток выполнения не вернется в ControlledExecution.Run метод.

Выполнение кода не гарантируется немедленно или вообще. Такая ситуация может произойти, например, если поток зависает, выполняя неуправляемый код или catchfinally блоки, которые вызываются как часть процедуры прерывания, тем самым бесконечно задерживая прерывание. Кроме того, выполнение не может быть прервано немедленно, если поток в настоящее время выполняется или catchfinally блокируется.

Прерванный код в непредвиденном расположении может повредить состояние структур данных в процессе и привести к непредсказуемым результатам. По этой причине этот метод не должен использоваться в рабочем коде и вызывать его предупреждение во время компиляции.

Применяется к