Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ReaderWriterLockSlim.TryEnterUpgradeableReadLock (Int32)

 

Data di pubblicazione: ottobre 2016

Prova ad attivare il blocco in modalità aggiornabile con un timeout facoltativo.

Spazio dei nomi:   System.Threading
Assembly:  System.Core (in System.Core.dll)

public bool TryEnterUpgradeableReadLock(
	int millisecondsTimeout
)

Parametri

millisecondsTimeout
Type: System.Int32

Numero di millisecondi di attesa oppure -1 (Timeout.Infinite) per un'attesa indefinita.

Valore restituito

Type: System.Boolean

true se il thread chiamante è passato in modalità aggiornabile; in caso contrario, false.

Exception Condition
LockRecursionException

Il RecursionPolicy è LockRecursionPolicy.NoRecursion e il thread corrente è già stato attivato il blocco.

-oppure-

Il thread corrente immesso inizialmente il blocco in modalità di lettura e pertanto il tentativo di attivazione della modalità aggiornabile creerebbe la possibilità di un deadlock.

-oppure-

Il numero di ricorsioni supererebbe la capacità del contatore. Il limite è talmente grande che le applicazioni non dovrebbero mai raggiungerlo.

ArgumentOutOfRangeException

Il valore di millisecondsTimeout è negativo, ma non è uguale a Timeout.Infinite (-1), che è l'unico valore negativo consentito.

ObjectDisposedException

L'oggetto ReaderWriterLockSlim è stato eliminato.

Se millisecondsTimeout è 0 (zero), questo metodo controlla lo stato di blocco e restituisce false immediatamente se lo stato desiderato non è disponibile.

Utilizzare la modalità aggiornabile quando un thread in genere accede alla risorsa protetta dal ReaderWriterLockSlim in modalità di lettura, ma potrebbe essere necessario attivare la modalità di scrittura se vengono soddisfatte determinate condizioni. Un thread in modalità aggiornabile può eseguire l'aggiornamento alla modalità di scrittura o un downgrade alla modalità di lettura.

Solo un thread può accedere un blocco in modalità aggiornabile in qualsiasi momento. Se un thread è in modalità aggiornabile e non sono presenti thread in attesa di attivazione della modalità scrittura, un numero qualsiasi di altri thread può accedere modalità di lettura, anche se vi sono thread in attesa di attivazione della modalità aggiornabile.

Se uno o più thread sono in attesa di attivazione della modalità di scrittura, un thread che chiama il TryEnterUpgradeableReadLock metodo si blocca fino a quando tali thread hanno il timeout o passato in modalità scrittura e uscire da esso o finché non scade l'intervallo di timeout del thread chiamante.

System_CAPS_noteNota

Se un blocco consente la ricorsione, un thread che ha attivato il blocco in modalità aggiornabile può accedere in modo ricorsivo in modalità aggiornabile, anche se altri thread in attesa di attivazione della modalità scrittura.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: