ReaderWriterLockSlim.CurrentReadCount Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.