次の方法で共有


ReaderWriterLockSlim.WaitingUpgradeCount プロパティ

定義

アップグレード可能モードでロックに入るのを待機しているスレッドの総数を取得します。

public:
 property int WaitingUpgradeCount { int get(); };
public int WaitingUpgradeCount { get; }
member this.WaitingUpgradeCount : int
Public ReadOnly Property WaitingUpgradeCount As Integer

プロパティ値

アップグレード可能モードに入るのを待機しているスレッドの総数。

次の例は、 プロパティを使用 WaitingUpgradeCount して、アップグレード可能モードに入るのを待機しているブロックされているスレッドの数がしきい値を超えた場合にイベント ログ エントリを生成する方法を示しています。

using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
Using rwLock As New ReaderWriterLockSlim()
int waitingUpgradeableReadCt = rwLock.WaitingUpgradeCount;
if (waitingUpgradeableReadCt > UPGRADEABLEREAD_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} blocked upgradeable reader threads; exceeds recommended maximum.", 
        waitingUpgradeableReadCt));
}
Dim waitingUpgradeableReadCt As Integer = rwLock.WaitingUpgradeCount
If waitingUpgradeableReadCt > UPGRADEABLEREAD_THRESHOLD Then
    performanceLog.WriteEntry(String.Format( _
        "{0} blocked upgradeable reader threads; exceeds recommended maximum.", _
        waitingUpgradeableReadCt))
End If

注釈

このプロパティは、デバッグ、プロファイリング、ログ記録の目的でのみ使用し、アルゴリズムの動作を制御する場合は使用しません。 結果は、計算されるとすぐに変更される可能性があります。 したがって、このプロパティに基づいて決定することは安全ではありません。

適用対象