ReaderWriterLockSlim.TryEnterReadLock 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.
İsteğe bağlı bir zaman aşımı ile kilidi okuma moduna girmeye çalışır.
Aşırı Yüklemeler
TryEnterReadLock(Int32) |
İsteğe bağlı bir tamsayı zaman aşımı ile kilidi okuma moduna girmeye çalışır. |
TryEnterReadLock(TimeSpan) |
İsteğe bağlı bir zaman aşımı ile kilidi okuma moduna girmeye çalışır. |
TryEnterReadLock(Int32)
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
İsteğe bağlı bir tamsayı zaman aşımı ile kilidi okuma moduna girmeye çalışır.
public:
bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock (int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (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ığı okuma moduna girdiyse, aksi takdirde , false
.
Özel durumlar
RecursionPolicy özelliğidir NoRecursion ve geçerli iş parçacığı zaten kilidi girmiştir.
-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
.
Aynı anda birden çok iş parçacığı 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 TryEnterReadLock bir iş parçacığı blokları.
Not
Kilit özyinelemeye izin veriyorsa, diğer iş parçacıkları yazma moduna girmeyi beklese bile, okuma moduna girmiş olan bir iş parçacığı yinelemeli olarak okuma moduna girebilir.
Diğer iş parçacıkları okuma modundayken bir iş parçacığı yükseltilebilir modda olabilir. Yükseltilebilir moda girmeyi bekleyen başka iş parçacıkları varsa ve yazma moduna girmeyi bekleyen iş parçacığı yoksa, yöntemini çağıran TryEnterReadLock iş parçacıkları hemen okuma moduna girer ve engellemez.
Şunlara uygulanır
TryEnterReadLock(TimeSpan)
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
- Kaynak:
- ReaderWriterLockSlim.cs
İsteğe bağlı bir zaman aşımı ile kilidi okuma moduna girmeye çalışır.
public:
bool TryEnterReadLock(TimeSpan timeout);
public bool TryEnterReadLock (TimeSpan timeout);
member this.TryEnterReadLock : TimeSpan -> bool
Public Function TryEnterReadLock (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ığı okuma moduna girdiyse, aksi takdirde , false
.
Özel durumlar
RecursionPolicy özelliğidir NoRecursion ve geçerli iş parçacığı zaten kilidi girmiştir.
-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
.
Birden çok iş parçacığı aynı anda kilidi okuma moduna girebilir.
Bir veya daha fazla iş parçacığı yazma moduna girmek için kuyruğa alınmışsa, bu iş parçacıkları zaman aşımına uğrayana veya yazma moduna geçene kadar veya çağıran iş parçacığının kendi zaman aşımı aralığı dolana kadar yöntemini çağıran TryEnterReadLock bir iş parçacığı bunu engeller.
Not
Kilit özyinelemeye izin veriyorsa, diğer iş parçacıkları yazma moduna girmeyi beklese bile, okuma moduna girmiş olan bir iş parçacığı yinelemeli olarak okuma moduna girebilir.
Diğer iş parçacıkları okuma modundayken bir iş parçacığı yükseltilebilir modda olabilir. Yükseltilebilir moda girmeyi bekleyen başka iş parçacıkları varsa ve yazma moduna girmeyi bekleyen iş parçacığı yoksa, yöntemini çağıran TryEnterReadLock iş parçacıkları hemen okuma moduna girer ve engellemez.