Bagikan melalui


ReaderWriterLockSlim.CurrentReadCount Properti

Definisi

Mendapatkan jumlah total utas unik yang telah memasuki kunci dalam mode baca.

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

Nilai Properti

Jumlah utas unik yang telah memasuki kunci dalam mode baca.

Contoh

Contoh berikut menunjukkan cara menggunakan CurrentReadCount properti untuk menghasilkan entri log peristiwa jika jumlah utas dalam mode baca melebihi ambang batas.

using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
Using rwLock As New ReaderWriterLockSlim()
if (!EventLog.SourceExists("MySource"))
{
    EventLog.CreateEventSource("MySource", "MyPerformanceLog");
}
EventLog performanceLog = new EventLog();
performanceLog.Source = "MySource";
If Not EventLog.SourceExists("MySource") Then
    EventLog.CreateEventSource("MySource", "MyPerformanceLog")
End If
Dim performanceLog As New EventLog()
performanceLog.Source = "MySource"
int readCt = rwLock.CurrentReadCount;
if (readCt > READ_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} reader threads; exceeds recommended maximum.", readCt));
}
Dim readCt As Integer = rwLock.CurrentReadCount
If readCt > READ_THRESHOLD Then
    performanceLog.WriteEntry(String.Format( _
        "{0} reader threads; exceeds recommended maximum.", readCt))
End If

Keterangan

Utas dihitung hanya sekali, bahkan jika kunci memungkinkan rekursi dan utas telah memasuki mode baca beberapa kali.

Gunakan properti ini hanya untuk tujuan penelusuran kesalahan, pembuatan profil, dan pengelogan, dan bukan untuk mengontrol perilaku algoritma. Hasilnya dapat berubah segera setelah dihitung. Oleh karena itu, tidak aman untuk membuat keputusan berdasarkan properti ini.

Berlaku untuk