ReaderWriterLockSlim.TryEnterUpgradeableReadLock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo.
Overload
TryEnterUpgradeableReadLock(Int32) |
Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo. |
TryEnterUpgradeableReadLock(TimeSpan) |
Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo. |
TryEnterUpgradeableReadLock(Int32)
- Origine:
- ReaderWriterLockSlim.cs
- Origine:
- ReaderWriterLockSlim.cs
- Origine:
- ReaderWriterLockSlim.cs
Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo.
public:
bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
public bool TryEnterUpgradeableReadLock (int millisecondsTimeout);
member this.TryEnterUpgradeableReadLock : int -> bool
Public Function TryEnterUpgradeableReadLock (millisecondsTimeout As Integer) As Boolean
Parametri
- millisecondsTimeout
- Int32
Numero di millisecondi di attesa oppure -1 (Infinite) per un'attesa indefinita.
Restituisce
true
se il thread chiamante ha acceduto alla modalità aggiornabile; in caso contrario, false
.
Eccezioni
La proprietà RecursionPolicy è NoRecursion e il thread corrente ha già acceduto al blocco.
-oppure-
Il thread corrente ha inizialmente acceduto al blocco in modalità di lettura, pertanto il tentativo di accedere alla modalità aggiornabile creerebbe la possibilità di un deadlock.
-oppure-
Il numero di ricorsioni supererebbe la capacità del contatore. Il limite è talmente elevato che le applicazioni non dovrebbero mai raggiungerlo.
Il valore di millisecondsTimeout
è negativo, ma non è uguale a Infinite (-1), ovvero l'unico valore negativo consentito.
L'oggetto ReaderWriterLockSlim è stato eliminato.
Commenti
Se millisecondsTimeout
è 0 (zero), questo metodo controlla lo stato di blocco e restituisce false
immediatamente se lo stato desiderato non è disponibile.
Usare la modalità aggiornabile quando un thread accede in genere alla risorsa protetta dalla ReaderWriterLockSlim modalità di lettura, ma potrebbe essere necessario immettere la modalità di scrittura se vengono soddisfatte determinate condizioni. Un thread in modalità aggiornabile può eseguire l'aggiornamento alla modalità di scrittura o eseguire il downgrade alla modalità di lettura.
Un solo thread può immettere un blocco in modalità aggiornabile in qualsiasi momento. Se un thread è in modalità aggiornabile e non ci sono thread in attesa di immettere la modalità di scrittura, qualsiasi numero di altri thread può immettere la modalità di lettura, anche se ci sono thread in attesa di immettere la modalità aggiornabile.
Se uno o più thread sono in attesa di immettere la modalità di scrittura, un thread che chiama i blocchi del TryEnterUpgradeableReadLock metodo fino a quando tali thread non hanno effettuato il timeout o immesso in modalità di scrittura e quindi sono usciti da esso o fino alla scadenza dell'intervallo di timeout del thread chiamante.
Nota
Se un blocco consente la ricorsione, un thread che ha immesso il blocco in modalità aggiornabile può immettere in modo ricorsivo la modalità aggiornabile, anche se altri thread sono in attesa di immettere la modalità di scrittura.
Si applica a
TryEnterUpgradeableReadLock(TimeSpan)
- Origine:
- ReaderWriterLockSlim.cs
- Origine:
- ReaderWriterLockSlim.cs
- Origine:
- ReaderWriterLockSlim.cs
Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo.
public:
bool TryEnterUpgradeableReadLock(TimeSpan timeout);
public bool TryEnterUpgradeableReadLock (TimeSpan timeout);
member this.TryEnterUpgradeableReadLock : TimeSpan -> bool
Public Function TryEnterUpgradeableReadLock (timeout As TimeSpan) As Boolean
Parametri
- timeout
- TimeSpan
Intervallo di attesa oppure -1 millisecondi per un'attesa indefinita.
Restituisce
true
se il thread chiamante ha acceduto alla modalità aggiornabile; in caso contrario, false
.
Eccezioni
La proprietà RecursionPolicy è NoRecursion e il thread corrente ha già acceduto al blocco.
-oppure-
Il thread corrente ha inizialmente acceduto al blocco in modalità di lettura, pertanto il tentativo di accedere alla modalità aggiornabile creerebbe la possibilità di un deadlock.
-oppure-
Il numero di ricorsioni supererebbe la capacità del contatore. Il limite è talmente elevato che le applicazioni non dovrebbero mai raggiungerlo.
Il valore di timeout
è negativo, ma non è uguale a -1 millisecondi, ovvero l'unico valore negativo consentito.
-oppure-
Il valore di è maggiore di timeout
Int32.MaxValue millisecondi.
L'oggetto ReaderWriterLockSlim è stato eliminato.
Commenti
Se timeout
è 0 (zero), questo metodo controlla lo stato di blocco e restituisce false
immediatamente se lo stato desiderato non è disponibile.
Usare la modalità aggiornabile quando un thread accede in genere alla risorsa protetta dalla ReaderWriterLockSlim modalità di lettura, ma potrebbe essere necessario immettere la modalità di scrittura se vengono soddisfatte determinate condizioni. Un thread in modalità aggiornabile può eseguire l'aggiornamento alla modalità di scrittura o eseguire il downgrade alla modalità di lettura.
Un solo thread può immettere un blocco in modalità aggiornabile in qualsiasi momento. Se un thread è in modalità aggiornabile e non ci sono thread in attesa di immettere la modalità di scrittura, qualsiasi numero di altri thread può immettere la modalità di lettura, anche se ci sono thread in attesa di immettere la modalità aggiornabile.
Se uno o più thread sono in attesa di immettere la modalità di scrittura, un thread che chiama i blocchi del TryEnterUpgradeableReadLock metodo fino a quando tali thread non hanno effettuato il timeout o immesso in modalità di scrittura e quindi sono usciti da esso o fino alla scadenza dell'intervallo di timeout del thread chiamante.
Nota
Se un blocco consente la ricorsione, un thread che ha immesso il blocco in modalità aggiornabile può immettere in modo ricorsivo la modalità aggiornabile, anche se altri thread sono in attesa di immettere la modalità di scrittura.