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 再スローされます。

コードの実行が直ちに中止されるとは限りません。また、まったく中止されるわけではありません。 この状況は、たとえば、スレッドがアンマネージド コードまたは catch 中止プロシージャの一部として呼び出される ブロックと finally ブロックを実行しなくなった場合に、中止を無期限に遅延させる場合に発生する可能性があります。 さらに、スレッドが現在 または finally ブロックを実行している場合、すぐに実行がcatch中止されない場合があります。

予期しない場所でコードを中止すると、プロセス内のデータ構造の状態が破損し、予期しない結果になる可能性があります。 そのため、このメソッドは実稼働コードでは使用しないでください。このメソッドを呼び出すと、コンパイル時の警告が生成されます。

適用対象