ReaderWriterLockSlim.ExitWriteLock Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Reduce el recuento de recursividad para el modo de escritura y sale del modo de escritura si el recuento resultante es 0 (cero).
public:
void ExitWriteLock();
public void ExitWriteLock ();
member this.ExitWriteLock : unit -> unit
Public Sub ExitWriteLock ()
Excepciones
El subproceso actual no ha entrado en el bloqueo en modo de escritura.
Ejemplos
En el ejemplo siguiente se muestra cómo usar un finally
bloque para ejecutar el ExitWriteLock método , lo que garantiza que el autor de la llamada salga del modo de escritura. El método que se muestra en el ejemplo agrega un nuevo par clave-valor a la memoria caché sincronizada. Si la clave ya está en la memoria caché, se permite que la excepción producida por el elemento interno Dictionary<TKey,TValue> finalice el método . El EnterWriteLock método se usa para entrar en el bloqueo en modo de escritura.
Este código forma parte de un ejemplo más grande proporcionado para la ReaderWriterLockSlim clase .
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
Comentarios
Este método no distingue el orden de recursividad. Por ejemplo, si un subproceso entra en un bloqueo en modo actualizable y, a continuación, entra en el modo de escritura, el orden en el que el subproceso sale de los dos modos no importa. Si un bloqueo permite la recursividad, un subproceso puede entrar en el bloqueo en modo de escritura y, a continuación, escribirlo de forma recursiva en modo de lectura; el orden en que el subproceso sale del modo de lectura y el modo de escritura no importa.
Salir del bloqueo podría indicar otros subprocesos en espera.