IUMSCompletionList 構造体

UMS の完了リストを表します。 UMS スレッドがブロックされると、基になる仮想プロセッサ ルートでスケジュールする内容を決定するためにスケジューラで指定されているスケジュールのコンテキストがディスパッチされ、元のスレッドがブロックされます。 元のスレッドがブロックされない場合、オペレーション システムは、このインターフェイスからアクセスできる完了リストのキューにそれを配置します。 スケジューラは指定されたスケジュール コンテキスト、または作業を検索するその他の場所にある完了リストを照会できます。

構文

struct IUMSCompletionList;

メンバー

パブリック メソッド

名前 説明
IUMSCompletionList::GetUnblockNotifications このメソッドが最後に呼び出された時点以降、関連付けられているスレッド プロキシがブロック解除されている実行コンテキストを表す IUMSUnblockNotification インターフェイスのチェーンを取得します。

解説

スケジューラは、このインターフェイスを使用して完了リストから項目をデキューした後に実行されるアクションについて、非常に注意する必要があります。 項目は、スケジューラの実行可能なコンテキストの一覧に配置し、通常はできるだけ早くアクセスできる必要があります。 デキューされた項目の 1 つに任意のロックの所有権が与えられた可能性があります。 スケジューラは、デキュー項目の呼び出しと、一般的にスケジューラ内からアクセスできるリスト上の項目の配置の間でブロックする可能性がある任意の関数呼び出しを行う必要はありません。

継承階層

IUMSCompletionList

必要条件

ヘッダー: concrtrm.h

名前空間: concurrency

IUMSCompletionList::GetUnblockNotifications メソッド

このメソッドが最後に呼び出された時点以降、関連付けられているスレッド プロキシがブロック解除されている実行コンテキストを表す IUMSUnblockNotification インターフェイスのチェーンを取得します。

virtual IUMSUnblockNotification *GetUnblockNotifications() = 0;

戻り値

IUMSUnblockNotification インターフェイスのチェーン。

解説

実行コンテキストが再スケジュールされた後、返された通知は無効です。

関連項目

コンカレンシー名前空間
IUMSScheduler 構造体
IUMSUnblockNotification 構造体