次の方法で共有


IUMSThreadProxy 構造体

実行スレッドの抽象化です。 ユーザー モード スケジュール可能 (UMS) スレッドをスケジューラに付与するには、スケジューラ ポリシー要素 SchedulerKind の値を UmsThreadDefault に設定し、さらに IUMSScheduler インターフェイスを実装する必要があります。 UMS スレッドは、Windows 7 以上のバージョンの 64 ビット オペレーティング システムでのみサポートされます。

struct IUMSThreadProxy : public IThreadProxy;

メンバー

パブリック メソッド

名前

説明

IUMSThreadProxy::EnterCriticalRegion メソッド

クリティカル領域に入るときに呼び出します。 クリティカル領域内のコードが実行されている間に生じた非同期のブロック操作をスケジューラは一切監視しません。 これは、スケジューラがページ フォールト、スレッドの中断、カーネルの非同期プロシージャ呼び出し (APCs) に対してなど、UMS スレッド再入されないことを意味します。

IUMSThreadProxy::EnterHyperCriticalRegion メソッド

ハイパー クリティカル領域に入るときに呼び出します。 ハイパー クリティカル領域内のコードが実行されている間に生じたブロック操作をスケジューラは一切監視しません。 これは、スケジューラがの関数呼び出し、ブロック ロックの取得、ページ フォールト、スレッドの中断、カーネルの非同期プロシージャ呼び出し (APCs) など、ブロックする UMS スレッド再入されないことを意味します。

IUMSThreadProxy::ExitCriticalRegion メソッド

クリティカル領域から抜けるときに呼び出します。

IUMSThreadProxy::ExitHyperCriticalRegion メソッド

ハイパー クリティカル領域から抜けるときに呼び出します。

IUMSThreadProxy::GetCriticalRegionType メソッド

スレッド プロキシが存在するクリティカル領域の種類を返します。 次にハイパー クリティカル領域がクリティカル領域のスーパーセットであるため、コードがクリティカル領域とハイパー クリティカル領域を入力すると、InsideHyperCriticalRegion が返されます。

継承階層

IThreadProxy

IUMSThreadProxy

必要条件

ヘッダー: concrtrm.h

名前空間: concurrency

参照

関連項目

concurrency 名前空間

IUMSScheduler 構造体

SchedulerType 列挙型