Quelle est la différence entre System.Threading.ReaderWriterLockSlim.EnterUpgradeableReadLock et System.Threading.ReaderWriterLockSlim.TryEnterUpgradeableReadLock? dans .NET? Est-ce juste l'option de timeout? Merci!Quelle est la différence entre EnterUpgradeableReadLock et TryEnterUpgradeableReadLock?
0
A
Répondre
2
EnterUpgradeableReadLock
bloque toujours jusqu'à ce que le verrou soit obtenu. TryEnterUpgradeableReadLock
renvoie la valeur false si le verrouillage ne peut pas être obtenu dans le délai spécifié. Si vous utilisez cela, vous devez être prêt à gérer le cas où vous ne recevez pas le verrou.
De la documentation pour EnterUpgradeableReadLock:
Cette méthode bloque jusqu'à ce que le fil d'appel entre dans la serrure, et donc pourrait ne jamais revenir. Utilisez la méthode TryEnterUpgradeableReadLock au bloc pendant un intervalle spécifié, et puis retour si le thread appelant a pas entré en mode évolutif pendant cet intervalle.