ReaderWriterLockSlim.TryEnterReadLock 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í.
Intenta entrar en el bloqueo en modo de lectura, con tiempo de espera opcional.
Sobrecargas
TryEnterReadLock(Int32) |
Intenta entrar en el bloqueo en modo de lectura, con un tiempo de espera entero opcional. |
TryEnterReadLock(TimeSpan) |
Intenta entrar en el bloqueo en modo de lectura, con tiempo de espera opcional. |
TryEnterReadLock(Int32)
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
Intenta entrar en el bloqueo en modo de lectura, con un tiempo de espera entero opcional.
public:
bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock (int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (millisecondsTimeout As Integer) As Boolean
Parámetros
- millisecondsTimeout
- Int32
Número de milisegundos de espera o -1 (Infinite) para esperar indefinidamente.
Devoluciones
true
si el subproceso que realiza la llamada entró en modo Lectura; en caso contrario, false
.
Excepciones
La propiedad RecursionPolicy es NoRecursion y el subproceso actual ya ha entrado en el bloqueo.
o bien
El número de recursividad superaría la capacidad del contador. El límite es tan amplio que las aplicaciones nunca deben alcanzarlo.
El valor de millisecondsTimeout
es negativo, pero no es igual que Infinite (-1), que es el único valor negativo permitido.
Se eliminó el objeto ReaderWriterLockSlim.
Comentarios
Si millisecondsTimeout
es 0 (cero), este método comprueba el estado de bloqueo y devuelve false
inmediatamente si el estado deseado no está disponible.
Varios subprocesos pueden entrar en modo de lectura al mismo tiempo.
Si uno o varios subprocesos están esperando entrar en modo de escritura, un subproceso que llama al TryEnterReadLock método se bloquea hasta que esos subprocesos hayan agotado el tiempo de espera o hayan entrado en modo de escritura y, a continuación, salgan de él, o hasta que expire el intervalo de tiempo de espera del subproceso que realiza la llamada.
Nota
Si un bloqueo permite la recursividad, un subproceso que ha entrado en el bloqueo en modo de lectura puede entrar en modo de lectura de forma recursiva, incluso si otros subprocesos están esperando entrar en modo de escritura.
Un subproceso puede estar en modo actualizable mientras que otros subprocesos están en modo de lectura. Si hay subprocesos adicionales en espera de entrar en modo actualizable y no hay subprocesos esperando entrar en modo de escritura, los subprocesos que llaman al TryEnterReadLock método entran en modo de lectura inmediatamente y no se bloquean.
Se aplica a
TryEnterReadLock(TimeSpan)
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
- Source:
- ReaderWriterLockSlim.cs
Intenta entrar en el bloqueo en modo de lectura, con tiempo de espera opcional.
public:
bool TryEnterReadLock(TimeSpan timeout);
public bool TryEnterReadLock (TimeSpan timeout);
member this.TryEnterReadLock : TimeSpan -> bool
Public Function TryEnterReadLock (timeout As TimeSpan) As Boolean
Parámetros
- timeout
- TimeSpan
Intervalo de espera, o -1 milisegundo para esperar indefinidamente.
Devoluciones
true
si el subproceso que realiza la llamada entró en modo Lectura; en caso contrario, false
.
Excepciones
La propiedad RecursionPolicy es NoRecursion y el subproceso actual ya ha entrado en el bloqueo.
o bien
El número de recursividad superaría la capacidad del contador. El límite es tan amplio que las aplicaciones nunca deben alcanzarlo.
El valor de timeout
es negativo, pero no es igual a -1 milisegundo, que es el único valor negativo permitido.
o bien
El valor de timeout
es mayor que Int32.MaxValue milisegundos.
Se eliminó el objeto ReaderWriterLockSlim.
Comentarios
Si timeout
es 0 (cero), este método comprueba el estado de bloqueo y devuelve false
inmediatamente si el estado deseado no está disponible.
Varios subprocesos pueden entrar en el bloqueo en modo de lectura al mismo tiempo.
Si uno o varios subprocesos se ponen en cola para entrar en modo de escritura, un subproceso que llama al TryEnterReadLock método se bloquea hasta que esos subprocesos hayan agotado el tiempo de espera o hayan entrado en modo de escritura y, a continuación, salgan de él, o hasta que expire el propio intervalo de tiempo de espera del subproceso que realiza la llamada.
Nota
Si un bloqueo permite la recursividad, un subproceso que ha entrado en el bloqueo en modo de lectura puede entrar en modo de lectura de forma recursiva, incluso si otros subprocesos están esperando entrar en modo de escritura.
Un subproceso puede estar en modo actualizable mientras que otros subprocesos están en modo de lectura. Si hay subprocesos adicionales en espera de entrar en modo actualizable y no hay subprocesos esperando entrar en modo de escritura, los subprocesos que llaman al TryEnterReadLock método entran en modo de lectura inmediatamente y no se bloquean.