Sdílet prostřednictvím


ControlledExecution.Run(Action, CancellationToken) Metoda

Definice

Upozornění

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

Spustí kód, který lze asynchronně přerušit.

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)

Parametry

action
Action

Delegát, který představuje kód, který se má spustit.

cancellationToken
CancellationToken

Token zrušení, který lze použít k přerušení provádění.

Atributy

Výjimky

Metoda není na této platformě podporovaná.

Argument action je null.

V aktuálním vlákně je již spuštěna Run(Action, CancellationToken) metoda.

Poprava byla přerušena.

Poznámky

Tato metoda umožňuje přerušit libovolný spravovaný kód nespolupracovatelným způsobem vyvoláním výjimky ve vlákně, které tento kód spouští. I když může být výjimka zachycena kódem, je znovu vyvolána na konci catch bloků, dokud se tok provádění nevrátí do ControlledExecution.Run metody.

Spuštění kódu není zaručeno okamžitě nebo vůbec. K této situaci může dojít například v případě, že vlákno je zablokované a spouští nespravovaný kód nebo catch bloky a finally , které jsou volána v rámci procedury přerušení, čímž neomezeně zpožďuje přerušení. Provádění navíc nemusí být okamžitě přerušeno, pokud vlákno právě provádí catch blok nebo finally .

Přerušení kódu v neočekávaném umístění může poškodit stav datových struktur v procesu a vést k nepředvídatelným výsledkům. Z tohoto důvodu by se tato metoda neměla používat v produkčním kódu a jejím voláním vznikne upozornění v době kompilace.

Platí pro