IUMSThreadProxy::EnterHyperCriticalRegion メソッド

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

virtual int EnterHyperCriticalRegion() =0;

戻り値

新しい深度のハイパー クリティカル領域。ハイパー クリティカル領域は再入可能です。

解説

このような領域で呼び出すメソッドと、取得するロックに関しては、スケジューラは細心の注意を払う必要があります。この領域内に存在するコードがロック状態でブロックされた場合、仮にそのロックが、スケジューラによるスケジューリングを必要とするいずれかの要素が保持するものだとすると、デッドロックに陥る可能性があります。

必要条件

ヘッダー: concrtrm.h

名前空間: の同時実行

参照

関連項目

IUMSThreadProxy 構造体

IUMSThreadProxy::ExitHyperCriticalRegion メソッド