IUMSCompletionList 構造体
UMS の完了リストを表します。 UMS スレッドがブロックされると、基になる仮想プロセッサ ルートでスケジュールする内容を決定するためにスケジューラで指定されているスケジュールのコンテキストがディスパッチされ、元のスレッドがブロックされます。 元のスレッドがブロックされない場合、オペレーション システムは、このインターフェイスからアクセスできる完了リストのキューにそれを配置します。 スケジューラは指定されたスケジュール コンテキスト、または作業を検索するその他の場所にある完了リストを照会できます。
構文
struct IUMSCompletionList;
メンバー
パブリック メソッド
名前 | 説明 |
---|---|
IUMSCompletionList::GetUnblockNotifications | このメソッドが最後に呼び出された時点以降、関連付けられているスレッド プロキシがブロック解除されている実行コンテキストを表す IUMSUnblockNotification インターフェイスのチェーンを取得します。 |
解説
スケジューラは、このインターフェイスを使用して完了リストから項目をデキューした後に実行されるアクションについて、非常に注意する必要があります。 項目は、スケジューラの実行可能なコンテキストの一覧に配置し、通常はできるだけ早くアクセスできる必要があります。 デキューされた項目の 1 つに任意のロックの所有権が与えられた可能性があります。 スケジューラは、デキュー項目の呼び出しと、一般的にスケジューラ内からアクセスできるリスト上の項目の配置の間でブロックする可能性がある任意の関数呼び出しを行う必要はありません。
継承階層
IUMSCompletionList
要件
ヘッダー: concrtrm.h
名前空間: concurrency
IUMSCompletionList::GetUnblockNotifications メソッド
このメソッドが最後に呼び出された時点以降、関連付けられているスレッド プロキシがブロック解除されている実行コンテキストを表す IUMSUnblockNotification
インターフェイスのチェーンを取得します。
virtual IUMSUnblockNotification *GetUnblockNotifications() = 0;
戻り値
IUMSUnblockNotification
インターフェイスのチェーン。
解説
実行コンテキストが再スケジュールされた後、返された通知は無効です。