Partager via


ReaderWriterLockSlim.TryEnterReadLock Méthode

Définition

Essaie d'entrer le verrou en mode lecture, avec un délai d'attente facultatif.

Surcharges

TryEnterReadLock(Int32)

Essaie d'entrer le verrou en mode lecture, avec un délai d'attente entier facultatif.

TryEnterReadLock(TimeSpan)

Essaie d'entrer le verrou en mode lecture, avec un délai d'attente facultatif.

TryEnterReadLock(Int32)

Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs

Essaie d'entrer le verrou en mode lecture, avec un délai d'attente entier facultatif.

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

Paramètres

millisecondsTimeout
Int32

Nombre de millisecondes à attendre, ou Infinite (-1) pour un délai d'attente infini.

Retours

true si le thread appelant est entré en mode lecture, sinon, false.

Exceptions

La propriété RecursionPolicy est NoRecursion et le thread actuel a déjà entré le verrou.

- ou -

Le nombre de récursivités dépasserait la capacité du compteur. Cette limite est si élevée que les applications ne doivent jamais la rencontrer.

La valeur de millisecondsTimeout est négative, mais différente de Infinite (-1), qui est la seule valeur négative autorisée.

L’objet ReaderWriterLockSlim a été supprimé.

Remarques

Si millisecondsTimeout a la valeur 0 (zéro), cette méthode vérifie l’état de verrouillage et retourne false immédiatement si l’état souhaité n’est pas disponible.

Plusieurs threads peuvent passer en mode lecture en même temps.

Si un ou plusieurs threads attendent d’entrer en mode écriture, un thread qui appelle la TryEnterReadLock méthode se bloque jusqu’à ce que ces threads aient expiré ou entré en mode écriture, puis qu’ils se soient retirés de celui-ci, ou jusqu’à ce que l’intervalle de délai d’attente du thread appelant arrive à expiration.

Notes

Si un verrou autorise la récursivité, un thread qui est entré dans le verrou en mode lecture peut passer en mode lecture de manière récursive, même si d’autres threads attendent d’entrer en mode écriture.

Un thread peut être en mode pouvant être mis à niveau tandis que d’autres threads sont en mode lecture. Si d’autres threads attendent d’entrer en mode pouvant être mis à niveau et qu’aucun thread n’attend d’entrer en mode écriture, les threads qui appellent la TryEnterReadLock méthode passent immédiatement en mode lecture et ne se bloquent pas.

S’applique à

TryEnterReadLock(TimeSpan)

Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs

Essaie d'entrer le verrou en mode lecture, avec un délai d'attente facultatif.

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

Paramètres

timeout
TimeSpan

Intervalle d'attente, ou -1 milliseconde pour un délai d'attente infini.

Retours

true si le thread appelant est entré en mode lecture, sinon, false.

Exceptions

La propriété RecursionPolicy est NoRecursion et le thread actuel a déjà entré le verrou.

- ou -

Le nombre de récursivités dépasserait la capacité du compteur. Cette limite est si élevée que les applications ne doivent jamais la rencontrer.

La valeur de timeout est négative, mais différente de -1 millisecondes, qui est la seule valeur négative autorisée.

- ou -

La valeur de timeout est supérieure à Int32.MaxValue millisecondes.

L’objet ReaderWriterLockSlim a été supprimé.

Remarques

Si timeout a la valeur 0 (zéro), cette méthode vérifie l’état de verrouillage et retourne false immédiatement si l’état souhaité n’est pas disponible.

Plusieurs threads peuvent entrer le verrou en mode lecture en même temps.

Si un ou plusieurs threads sont mis en file d’attente pour entrer en mode écriture, un thread qui appelle la TryEnterReadLock méthode se bloque jusqu’à ce que ces threads aient expiré ou entré en mode écriture, puis qu’ils se soient retirés de celui-ci, ou jusqu’à ce que le propre intervalle de délai d’attente du thread appelant expire.

Notes

Si un verrou autorise la récursivité, un thread qui est entré dans le verrou en mode lecture peut passer en mode lecture de manière récursive, même si d’autres threads attendent d’entrer en mode écriture.

Un thread peut être en mode pouvant être mis à niveau tandis que d’autres threads sont en mode lecture. Si d’autres threads attendent d’entrer en mode pouvant être mis à niveau et qu’aucun thread n’attend d’entrer en mode écriture, les threads qui appellent la TryEnterReadLock méthode passent immédiatement en mode lecture et ne se bloquent pas.

S’applique à