次の方法で共有


ISchedulerProxy::SubscribeCurrentThread メソッド

現在のスレッドをリソース マネージャーに登録して、このスケジューラに関連付けます。

virtual IExecutionResource * SubscribeCurrentThread() =0;

戻り値

ランタイムの現在のスレッドを表す IExecutionResource インターフェイス。

解説

ご使用のスケジューラおよびその他のスケジューラに、リソース マネージャーがリソースを割り当てるときに、現在のスレッドも対象にするようリソース マネージャーに要求するには、このメソッドを使用します。 スレッドが、スケジューラがリソース マネージャーから受け取る仮想プロセッサ ルートと共に、スケジューラのキューに格納されている作業に参加する予定の場合、これは特に便利です。 リソース マネージャーは、情報を使用して、システム上のハードウェア スレッドの不要なオーバーサブスクリプションを防止します。

このメソッドを通じて受け取る実行リソースは、IExecutionResource::Remove メソッドを使用してリソース マネージャーに返す必要があります。 Remove メソッドを呼び出すスレッドは、以前に SubscribeCurrentThread メソッドを呼び出したスレッドと同じにする必要があります。

スレッドをサブスクライブすると、基になるハードウェア スレッドのサブスクリプション レベルが 1 つ増加します。 サブスクリプションが終了すると、サブスクリプション レベルは 1 つ減少します。 サブスクリプション レベルの詳細については、「IExecutionResource::CurrentSubscriptionLevel」を参照してください。

必要条件

ヘッダー: concrtrm.h

名前空間: concurrency

参照

関連項目

ISchedulerProxy 構造体