語言

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) 方法。

處決被中止。

備註

此方法透過在執行該程式碼的執行緒中拋出例外,非合作方式中止任意受管理程式碼。 雖然例外可能被程式碼捕捉,但在執行流程ControlledExecution.Run返回方法之前,該例外會在區塊結束catch時重新拋出。

程式碼執行不保證立即或完全中止。 這種情況可能發生,例如執行緒卡在執行未管理的程式碼或 catch 作為中止程序一部分的 and finally 區塊時,導致中止無限期延遲。 此外,若執行緒目前正在執行 a catch 或 finally 區塊,執行不可立即中止。

在意想不到的位置終止程式碼可能會破壞過程中資料結構的狀態,導致無法預測的結果。 因此,此方法不應用於生產程式碼,呼叫它會產生編譯時警告。

適用於