ReaderWriterLockSlim.ExitWriteLock Yöntem

Tanım

Yazma modu için özyineleme sayısını azaltır ve sonuçta elde edilen sayı 0 (sıfır) olduğunda yazma modundan çıkar.

public:
 void ExitWriteLock();
public void ExitWriteLock();
member this.ExitWriteLock : unit -> unit
Public Sub ExitWriteLock ()

Özel durumlar

Geçerli iş parçacığı yazma modunda kilit girmemiş.

Örnekler

Aşağıdaki örnekte, çağıranın yazma modundan ExitWriteLock çıktığından emin olarak yöntemi yürütmek için bir finally bloğun nasıl kullanılacağı gösterilmektedir. Örnekte gösterilen yöntem, eşitlenen önbelleğe yeni bir anahtar/değer çifti ekler. Anahtar zaten önbellekteyse, iç Dictionary<TKey,TValue> tarafından oluşan özel durumun yöntemi sonlandırmasına izin verilir. EnterWriteLock yazma moduna kilidi girmek için yöntemi kullanılır.

Bu kod, sınıfı için ReaderWriterLockSlim sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Bu yöntem özyineleme sırasına duyarlı değildir. Örneğin, bir iş parçacığı yükseltilebilir modda bir kilit girer ve sonra yazma modunda kilit girerse, iş parçacığının iki moddan çıkma sırası önemli değildir. Bir kilit özyinelemeye izin veriyorsa, bir iş parçacığı kilidi yazma moduna girebilir ve ardından yinelemeli olarak okuma moduna girebilir; iş parçacığının okuma modundan çıkma sırası ve yazma modu önemli değildir.

Kilit çıkışı diğer bekleyen iş parçacıklarına işaret edebilir.

Şunlara uygulanır