次の方法で共有


ISchedulerProxy::Shutdown メソッド

スケジューラの終了処理中であることをリソース マネージャーに通知します。 これにより、リソース マネージャーは、スケジューラに割り当てられたすべてのリソースを直ちに解放します。

virtual void Shutdown() =0;

解説

スケジューラが ISchedulerProxy::RequestInitialVirtualProcessors メソッドまたは ISchedulerProxy::SubscribeCurrentThread メソッドを使用して外部スレッドをサブスクライブした結果として受信したすべての IExecutionContext インターフェイスは、スケジューラが自身の状態をリセットして停止する前に、IExecutionResource::Remove を使用してリソース マネージャーに返される必要があります。

スケジューラで非アクティブな仮想プロセッサ ルートが検出された場合、IVirtualProcessorRoot::Activate を使用してアクティブ化し、スケジューラ プロキシで Shutdown を呼び出す前に、仮想プロセッサ ルートで実行されているスレッド プロキシで、ディスパッチしている実行コンテキストの Dispatch メソッドを終了する必要があります。

すべての仮想プロセッサ ルートはシャットダウン時にリソース マネージャーに戻るため、スケジューラは、リソース マネージャーが Remove メソッドの呼び出しによって付与したすべての仮想プロセッサ ルートを個別に返す必要はありません。

必要条件

ヘッダー: concrtrm.h

名前空間: Concurrency

参照

参照

ISchedulerProxy 構造体

その他の技術情報

ISchedulerProxy::RequestInitialVirtualProcessors メソッド

ISchedulerProxy::SubscribeCurrentThread メソッド

IExecutionResource::Remove メソッド