ReaderWriterLockSlim.ExitWriteLock Metode
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.
Mengurangi jumlah rekursi untuk mode tulis, dan keluar dari mode tulis jika jumlah yang dihasilkan adalah 0 (nol).
public:
void ExitWriteLock();
public void ExitWriteLock();
member this.ExitWriteLock : unit -> unit
Public Sub ExitWriteLock ()
Pengecualian
Utas saat ini belum memasukkan kunci dalam mode tulis.
Contoh
Contoh berikut menunjukkan cara menggunakan finally blok untuk menjalankan ExitWriteLock metode , memastikan bahwa pemanggil keluar dari mode tulis. Metode yang ditunjukkan dalam contoh menambahkan pasangan kunci/nilai baru ke cache yang disinkronkan. Jika kunci sudah ada di cache, pengecualian yang dilemparkan oleh bagian dalam Dictionary<TKey,TValue> diizinkan untuk mengakhiri metode . Metode EnterWriteLock ini digunakan untuk memasukkan kunci dalam mode tulis.
Kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ReaderWriterLockSlim kelas .
private ReaderWriterLockSlim cacheLock = new ReaderWriterLockSlim();
private Dictionary<int, string> innerCache = new Dictionary<int, string>();
Private cacheLock As New ReaderWriterLockSlim()
Private innerCache As New Dictionary(Of Integer, String)
public void Add(int key, string value)
{
cacheLock.EnterWriteLock();
try
{
innerCache.Add(key, value);
}
finally
{
cacheLock.ExitWriteLock();
}
}
Public Sub Add(ByVal key As Integer, ByVal value As String)
cacheLock.EnterWriteLock()
Try
innerCache.Add(key, value)
Finally
cacheLock.ExitWriteLock()
End Try
End Sub
Keterangan
Metode ini tidak sensitif terhadap urutan rekursi. Misalnya, jika utas memasuki kunci dalam mode yang dapat ditingkatkan dan kemudian memasuki kunci dalam mode tulis, urutan di mana utas keluar dari dua mode tidak masalah. Jika kunci memungkinkan rekursi, utas dapat memasukkan kunci dalam mode tulis lalu memasukkannya secara rekursif dalam mode baca; urutan di mana utas keluar dari mode baca dan mode tulis tidak masalah.
Keluar dari kunci mungkin menandakan utas tunggu lainnya.