Condividi tramite


Lock.TryEnter Metodo

Definizione

Overload

TryEnter()

Tenta di immettere il blocco senza attendere.

TryEnter(Int32)

Tenta di immettere il blocco, in attesa se necessario per il numero specificato di millisecondi fino all'immissione del blocco.

TryEnter(TimeSpan)

Prova a immettere il blocco, in attesa se necessario fino a quando il blocco non può essere immesso o fino alla scadenza del timeout specificato.

TryEnter()

Origine:
Lock.cs

Tenta di immettere il blocco senza attendere.

public:
 bool TryEnter();
public bool TryEnter ();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean

Restituisce

true se il blocco è stato immesso dal thread corrente; in caso contrario, false.

Eccezioni

Il blocco ha raggiunto il limite di voci ripetute dal thread corrente. Il limite è definito dall'implementazione ed è destinato a essere abbastanza elevato che non sarebbe stato raggiunto in situazioni normali.

Commenti

Quando il metodo restituisce true, il thread corrente è l'unico thread che contiene il blocco. Se il blocco non può essere immesso immediatamente, il metodo restituisce false senza attendere il blocco. Se il blocco è già mantenuto dal thread corrente, il blocco viene immesso di nuovo. Per chiudere completamente il blocco e consentire ad altri thread di immettere il blocco, il thread corrente deve uscire dal blocco quante volte ha immesso il blocco.

Per altre informazioni, vedere le note su Lock.

Si applica a

TryEnter(Int32)

Origine:
Lock.cs

Tenta di immettere il blocco, in attesa se necessario per il numero specificato di millisecondi fino all'immissione del blocco.

public:
 bool TryEnter(int millisecondsTimeout);
public bool TryEnter (int millisecondsTimeout);
member this.TryEnter : int -> bool
Public Function TryEnter (millisecondsTimeout As Integer) As Boolean

Parametri

millisecondsTimeout
Int32

Numero di millisecondi da attendere fino all'immissione del blocco. Specificare Timeout.Infinite (-1) per attendere in modo indefinito o 0 non attendere.

Restituisce

true se il blocco è stato immesso dal thread corrente; in caso contrario, false.

Eccezioni

millisecondsTimeout è minore di -1.

Il blocco ha raggiunto il limite di voci ripetute dal thread corrente. Il limite è definito dall'implementazione ed è destinato a essere abbastanza elevato che non sarebbe stato raggiunto in situazioni normali.

Commenti

Quando il metodo restituisce true, il thread corrente è l'unico thread che contiene il blocco. Se il blocco non può essere immesso immediatamente, il metodo attende fino a quando il blocco non può essere immesso o fino alla scadenza del millisecondsTimeout timeout specificato dal parametro. Se il timeout scade prima di immettere il blocco, il metodo restituisce false. Se il blocco è già mantenuto dal thread corrente, il blocco viene immesso di nuovo. Per chiudere completamente il blocco e consentire ad altri thread di immettere il blocco, il thread corrente deve uscire dal blocco quante volte ha immesso il blocco.

Per altre informazioni, vedere le note su Lock.

Si applica a

TryEnter(TimeSpan)

Origine:
Lock.cs

Prova a immettere il blocco, in attesa se necessario fino a quando il blocco non può essere immesso o fino alla scadenza del timeout specificato.

public:
 bool TryEnter(TimeSpan timeout);
public bool TryEnter (TimeSpan timeout);
member this.TryEnter : TimeSpan -> bool
Public Function TryEnter (timeout As TimeSpan) As Boolean

Parametri

timeout
TimeSpan

Oggetto TimeSpan che rappresenta il numero di millisecondi da attendere fino all'immissione del blocco. Specificare un valore che rappresenta Timeout.Infinite (-1) millisecondi per attendere in modo indefinito o un valore che rappresenta 0 millisecondi da non attendere.

Restituisce

true se il blocco è stato immesso dal thread corrente; in caso contrario, false.

Eccezioni

timeout, dopo la conversione in un valore millisecondo intero, rappresenta un valore minore di millisecondi o maggiore di -1Int32.MaxValue millisecondi.

Il blocco ha raggiunto il limite di voci ripetute dal thread corrente. Il limite è definito dall'implementazione ed è destinato a essere abbastanza elevato che non sarebbe stato raggiunto in situazioni normali.

Commenti

Quando il metodo restituisce true, il thread corrente è l'unico thread che contiene il blocco. Se il blocco non può essere immesso immediatamente, il metodo attende fino a quando il blocco non può essere immesso o fino alla scadenza specificata timeout . Se il timeout scade prima di immettere il blocco, il metodo restituisce false. Se il blocco è già mantenuto dal thread corrente, il blocco viene immesso di nuovo. Per chiudere completamente il blocco e consentire ad altri thread di immettere il blocco, il thread corrente deve uscire dal blocco quante volte ha immesso il blocco.

Per altre informazioni, vedere le note su Lock.

Si applica a