Compartir vía


Lock.TryEnter Método

Definición

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.

Se aplica a