IUMSThreadProxy::EnterHyperCriticalRegion メソッド
ハイパー クリティカル領域に入るときに呼び出します。 ハイパー クリティカル領域内のコードが実行されている間に生じたブロック操作をスケジューラは一切監視しません。 つまり、UMS スレッドでは、ブロックを伴う関数呼び出し、ブロックの原因となるロック取得、ページ フォールト、スレッドの中断、カーネルの非同期プロシージャ呼び出し (APC) などが発生しても、スケジューラが再度呼び出されることはありません。
virtual int EnterHyperCriticalRegion() =0;
戻り値
新しい深度のハイパー クリティカル領域。 ハイパー クリティカル領域は再入可能です。
解説
このような領域で呼び出すメソッドと、取得するロックに関しては、スケジューラは細心の注意を払う必要があります。 この領域内に存在するコードがロック状態でブロックされた場合、仮にそのロックが、スケジューラによるスケジューリングを必要とするいずれかの要素が保持するものだとすると、デッドロックに陥る可能性があります。
必要条件
ヘッダー: concrtrm.h
名前空間: Concurrency