ReaderWriterLockSlim.TryEnterUpgradeableReadLock Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kilidi isteğe bağlı bir zaman aşımıyla yükseltilebilir modda girmeye çalışır.
Aşırı Yüklemeler
TryEnterUpgradeableReadLock(Int32) |
Kilidi isteğe bağlı bir zaman aşımıyla yükseltilebilir modda girmeye çalışır. |
TryEnterUpgradeableReadLock(TimeSpan) |
Kilidi isteğe bağlı bir zaman aşımıyla yükseltilebilir modda girmeye çalışır. |
TryEnterUpgradeableReadLock(Int32)
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
Kilidi isteğe bağlı bir zaman aşımıyla yükseltilebilir modda girmeye çalışır.
public:
bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
public bool TryEnterUpgradeableReadLock (int millisecondsTimeout);
member this.TryEnterUpgradeableReadLock : int -> bool
Public Function TryEnterUpgradeableReadLock (millisecondsTimeout As Integer) As Boolean
Parametreler
- millisecondsTimeout
- Int32
Beklenen milisaniye sayısı veya süresiz olarak beklemek için -1 (Infinite).
Döndürülenler
true
çağıran iş parçacığı yükseltilebilir moda girdiyse, aksi takdirde , false
.
Özel durumlar
RecursionPolicy özelliğidir NoRecursion ve geçerli iş parçacığı zaten kilidi girmiştir.
-veya-
Geçerli iş parçacığı başlangıçta kilidi okuma moduna girdi ve bu nedenle yükseltilebilir moda girmeye çalışmak kilitlenme olasılığına neden olabilir.
-veya-
Özyineleme sayısı sayacın kapasitesini aşabilir. Sınır, uygulamaların hiçbir zaman karşılaşmaması için o kadar büyük ki.
değeri millisecondsTimeout
negatiftir, ancak izin verilen tek negatif değer olan (-1) değerine eşit Infinite değildir.
ReaderWriterLockSlim Nesnesi atıldı.
Açıklamalar
0 (sıfır) ise millisecondsTimeout
, bu yöntem kilit durumunu denetler ve istenen durum kullanılamıyorsa hemen döndürür false
.
Bir iş parçacığı genellikle okuma modunda korunan ReaderWriterLockSlim kaynağa eriştiğinde yükseltilebilir modu kullanın, ancak belirli koşullar karşılanırsa yazma moduna girmesi gerekebilir. Yükseltilebilir modda bir iş parçacığı yazma moduna yükseltebilir veya okuma moduna düşürebilir.
Herhangi bir anda yükseltilebilir modda yalnızca bir iş parçacığı kilit girebilir. bir iş parçacığı yükseltilebilir moddaysa ve yazma moduna girmek için bekleyen iş parçacığı yoksa, yükseltilebilir moda girmeyi bekleyen iş parçacıkları olsa bile başka iş parçacıkları okuma moduna girebilir.
Bir veya daha fazla iş parçacığı yazma moduna girmeyi bekliyorsa, bu iş parçacıkları zaman aşımına uğrayana veya yazma moduna girene kadar veya çağıran iş parçacığının kendi zaman aşımı aralığı sona erene kadar yöntemini çağıran TryEnterUpgradeableReadLock bir iş parçacığı blokları.
Not
Bir kilit özyinelemeye izin veriyorsa, kilidi yükseltilebilir modda giren bir iş parçacığı, diğer iş parçacıkları yazma moduna girmeyi beklese bile yükseltilebilir moda yinelemeli olarak girebilir.
Şunlara uygulanır
TryEnterUpgradeableReadLock(TimeSpan)
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
Kilidi isteğe bağlı bir zaman aşımıyla yükseltilebilir modda girmeye çalışır.
public:
bool TryEnterUpgradeableReadLock(TimeSpan timeout);
public bool TryEnterUpgradeableReadLock (TimeSpan timeout);
member this.TryEnterUpgradeableReadLock : TimeSpan -> bool
Public Function TryEnterUpgradeableReadLock (timeout As TimeSpan) As Boolean
Parametreler
- timeout
- TimeSpan
Beklenen aralık veya süresiz olarak beklemek için -1 milisaniye.
Döndürülenler
true
çağıran iş parçacığı yükseltilebilir moda girdiyse, aksi takdirde , false
.
Özel durumlar
RecursionPolicy özelliğidir NoRecursion ve geçerli iş parçacığı zaten kilidi girmiştir.
-veya-
Geçerli iş parçacığı başlangıçta kilidi okuma moduna girdi ve bu nedenle yükseltilebilir moda girmeye çalışmak kilitlenme olasılığına neden olabilir.
-veya-
Özyineleme sayısı sayacın kapasitesini aşabilir. Sınır, uygulamaların hiçbir zaman karşılaşmaması için o kadar büyük ki.
değeri timeout
negatiftir, ancak izin verilen tek negatif değer olan -1 milisaniyeye eşit değildir.
-veya-
değeri timeout
Int32.MaxValue milisaniyeden büyüktür.
ReaderWriterLockSlim Nesnesi atıldı.
Açıklamalar
0 (sıfır) ise timeout
, bu yöntem kilit durumunu denetler ve istenen durum kullanılamıyorsa hemen döndürür false
.
Bir iş parçacığı genellikle okuma modunda korunan ReaderWriterLockSlim kaynağa eriştiğinde yükseltilebilir modu kullanın, ancak belirli koşullar karşılanırsa yazma moduna girmesi gerekebilir. Yükseltilebilir modda bir iş parçacığı yazma moduna yükseltebilir veya okuma moduna düşürebilir.
Herhangi bir anda yükseltilebilir modda yalnızca bir iş parçacığı kilit girebilir. bir iş parçacığı yükseltilebilir moddaysa ve yazma moduna girmek için bekleyen iş parçacığı yoksa, yükseltilebilir moda girmeyi bekleyen iş parçacıkları olsa bile başka iş parçacıkları okuma moduna girebilir.
Bir veya daha fazla iş parçacığı yazma moduna girmeyi bekliyorsa, bu iş parçacıkları zaman aşımına uğrayana veya yazma moduna girene kadar veya çağıran iş parçacığının kendi zaman aşımı aralığı sona erene kadar yöntemini çağıran TryEnterUpgradeableReadLock bir iş parçacığı blokları.
Not
Bir kilit özyinelemeye izin veriyorsa, kilidi yükseltilebilir modda giren bir iş parçacığı, diğer iş parçacıkları yazma moduna girmeyi beklese bile yükseltilebilir moda yinelemeli olarak girebilir.