ReaderWriterLockSlim.ExitWriteLock Method ()


Reduces the recursion count for write mode, and exits write mode if the resulting count is 0 (zero).

Namespace:   System.Threading
Assembly:  System.Core (in System.Core.dll)

public void ExitWriteLock()

Exception Condition

The current thread has not entered the lock in write mode.

This method is not sensitive to recursion order. For example, if a thread enters a lock in upgradeable mode and then enters the lock in write mode, the order in which the thread exits the two modes does not matter. If a lock allows recursion, a thread can enter the lock in write mode and then enter it recursively in read mode; the order in which the thread exits read mode and write mode does not matter.

Exiting the lock might signal other waiting threads.

The following example shows how to use a finally block to execute the ExitWriteLock method, ensuring that the caller exits write mode. The method shown in the example adds a new key/value pair to the synchronized cache. If the key is already in the cache, the exception thrown by the inner Dictionary<TKey, TValue> is allowed to terminate the method. The EnterWriteLock method is used to enter the lock in write mode.

This code is part of a larger example provided for the ReaderWriterLockSlim class.

private ReaderWriterLockSlim cacheLock = new ReaderWriterLockSlim();
private Dictionary<int, string> innerCache = new Dictionary<int, string>();
public void Add(int key, string value)
        innerCache.Add(key, value);

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top