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 ブロックや finally ブロックの実行がスタックしている場合に、中止を無期限に遅延させる可能性があります。 さらに、スレッドが現在 catch または finally ブロックを実行している場合、すぐには実行が中止されない場合があります。
予期しない場所でコードを中止すると、プロセス内のデータ構造の状態が破損し、予期しない結果が生じる可能性があります。 そのため、このメソッドは実稼働コードでは使用しないでください。このメソッドを呼び出すと、コンパイル時の警告が生成されます。