Lock.TryEnter 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í.
Sobrecargas
TryEnter() |
Intenta entrar en el bloqueo sin esperar. |
TryEnter(Int32) |
Intenta entrar en el bloqueo, esperando si es necesario para el número especificado de milisegundos hasta que se pueda introducir el bloqueo. |
TryEnter(TimeSpan) |
Intenta entrar en el bloqueo, esperando si es necesario hasta que se pueda especificar el bloqueo o hasta que expire el tiempo de espera especificado. |
TryEnter()
- Source:
- Lock.cs
Intenta entrar en el bloqueo sin esperar.
public:
bool TryEnter();
public bool TryEnter ();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean
Devoluciones
true
si el subproceso actual especificó el bloqueo; de lo contrario, false
.
Excepciones
El bloqueo ha alcanzado el límite de entradas repetidas por el subproceso actual. El límite está definido por la implementación y está pensado para ser lo suficientemente alto como para que no se alcance en situaciones normales.
Comentarios
Cuando el método devuelve true
, el subproceso actual es el único subproceso que contiene el bloqueo. Si el bloqueo no se puede especificar inmediatamente, el método devuelve false
sin esperar al bloqueo. Si el subproceso actual ya mantiene el bloqueo, se vuelve a escribir el bloqueo. Para salir completamente del bloqueo y permitir que otros subprocesos entren en el bloqueo, el subproceso actual debe salir del bloqueo tantas veces como haya entrado en el bloqueo.
Para más información, vea los comentarios sobre Lock.
Se aplica a
TryEnter(Int32)
- Source:
- Lock.cs
Intenta entrar en el bloqueo, esperando si es necesario para el número especificado de milisegundos hasta que se pueda introducir el bloqueo.
public:
bool TryEnter(int millisecondsTimeout);
public bool TryEnter (int millisecondsTimeout);
member this.TryEnter : int -> bool
Public Function TryEnter (millisecondsTimeout As Integer) As Boolean
Parámetros
- millisecondsTimeout
- Int32
Número de milisegundos que se van a esperar hasta que se pueda introducir el bloqueo. Especifique Timeout.Infinite (-1
) para esperar indefinidamente o 0
para no esperar.
Devoluciones
true
si el subproceso actual especificó el bloqueo; de lo contrario, false
.
Excepciones
millisecondsTimeout
es menor que -1
.
El bloqueo ha alcanzado el límite de entradas repetidas por el subproceso actual. El límite está definido por la implementación y está pensado para ser lo suficientemente alto como para que no se alcance en situaciones normales.
Comentarios
Cuando el método devuelve true
, el subproceso actual es el único subproceso que contiene el bloqueo. Si el bloqueo no se puede especificar inmediatamente, el método espera hasta que se pueda especificar el bloqueo o hasta que expire el tiempo de espera especificado por el millisecondsTimeout
parámetro . Si el tiempo de espera expira antes de entrar en el bloqueo, el método devuelve false
. Si el subproceso actual ya mantiene el bloqueo, se vuelve a escribir el bloqueo. Para salir completamente del bloqueo y permitir que otros subprocesos entren en el bloqueo, el subproceso actual debe salir del bloqueo tantas veces como haya entrado en el bloqueo.
Para más información, vea los comentarios sobre Lock.
Se aplica a
TryEnter(TimeSpan)
- Source:
- Lock.cs
Intenta entrar en el bloqueo, esperando si es necesario hasta que se pueda especificar el bloqueo o hasta que expire el tiempo de espera especificado.
public:
bool TryEnter(TimeSpan timeout);
public bool TryEnter (TimeSpan timeout);
member this.TryEnter : TimeSpan -> bool
Public Function TryEnter (timeout As TimeSpan) As Boolean
Parámetros
- timeout
- TimeSpan
que TimeSpan representa el número de milisegundos que se esperarán hasta que se pueda introducir el bloqueo. Especifique un valor que represente Timeout.Infinite (-1
) milisegundos para esperar indefinidamente o un valor que represente 0
milisegundos que no espere.
Devoluciones
true
si el subproceso actual especificó el bloqueo; de lo contrario, false
.
Excepciones
timeout
, después de su conversión a un valor entero de milisegundos, representa un valor menor -1
que milisegundos o mayor que Int32.MaxValue milisegundos.
El bloqueo ha alcanzado el límite de entradas repetidas por el subproceso actual. El límite está definido por la implementación y está pensado para ser lo suficientemente alto como para que no se alcance en situaciones normales.
Comentarios
Cuando el método devuelve true
, el subproceso actual es el único subproceso que contiene el bloqueo. Si el bloqueo no se puede especificar inmediatamente, el método espera hasta que se pueda especificar el bloqueo o hasta que expire el especificado timeout
. Si el tiempo de espera expira antes de entrar en el bloqueo, el método devuelve false
. Si el subproceso actual ya mantiene el bloqueo, se vuelve a escribir el bloqueo. Para salir completamente del bloqueo y permitir que otros subprocesos entren en el bloqueo, el subproceso actual debe salir del bloqueo tantas veces como haya entrado en el bloqueo.
Para más información, vea los comentarios sobre Lock.