ControlledExecution.Run(Action, CancellationToken) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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 區塊,執行不可立即中止。
在意想不到的位置終止程式碼可能會破壞過程中資料結構的狀態,導致無法預測的結果。 因此,此方法不應用於生產程式碼,呼叫它會產生編譯時警告。