Bagikan melalui


ReaderWriterLockSlim.TryEnterReadLock Metode

Definisi

Mencoba memasukkan kunci dalam mode baca, dengan batas waktu opsional.

Overload

TryEnterReadLock(Int32)

Mencoba memasukkan kunci dalam mode baca, dengan batas waktu bilangan bulat opsional.

TryEnterReadLock(TimeSpan)

Mencoba memasukkan kunci dalam mode baca, dengan batas waktu opsional.

TryEnterReadLock(Int32)

Sumber:
ReaderWriterLockSlim.cs
Sumber:
ReaderWriterLockSlim.cs
Sumber:
ReaderWriterLockSlim.cs

Mencoba memasukkan kunci dalam mode baca, dengan batas waktu bilangan bulat opsional.

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

Parameter

millisecondsTimeout
Int32

Jumlah milidetik untuk menunggu, atau -1 (Infinite) untuk menunggu tanpa batas waktu.

Mengembalikan

true jika utas panggilan memasuki mode baca, jika tidak, false.

Pengecualian

Properti RecursionPolicy adalah NoRecursion dan utas saat ini telah memasukkan kunci.

-atau-

Jumlah rekursi akan melebihi kapasitas penghitung. Batasnya sangat besar sehingga aplikasi tidak boleh menemukannya.

Nilai millisecondsTimeout negatif, tetapi tidak sama dengan Infinite (-1), yang merupakan satu-satunya nilai negatif yang diizinkan.

Keterangan

Jika millisecondsTimeout adalah 0 (nol), metode ini memeriksa status kunci dan segera kembali false jika status yang diinginkan tidak tersedia.

Beberapa utas dapat memasuki mode baca secara bersamaan.

Jika satu atau beberapa utas menunggu untuk memasuki mode tulis, utas yang memanggil metode memblokir hingga utas tersebut TryEnterReadLock kehabisan waktu atau memasuki mode tulis lalu keluar darinya, atau sampai interval waktu habis utas panggilan sendiri kedaluwarsa.

Catatan

Jika kunci memungkinkan rekursi, utas yang telah memasuki kunci dalam mode baca dapat memasuki mode baca secara rekursif, bahkan jika utas lain menunggu untuk memasuki mode tulis.

Satu utas dapat berada dalam mode yang dapat ditingkatkan sementara utas lain dalam mode baca. Jika utas tambahan menunggu untuk memasuki mode yang dapat ditingkatkan, dan tidak ada utas yang menunggu untuk memasuki mode tulis, utas yang memanggil TryEnterReadLock metode segera memasuki mode baca dan tidak memblokir.

Berlaku untuk

TryEnterReadLock(TimeSpan)

Sumber:
ReaderWriterLockSlim.cs
Sumber:
ReaderWriterLockSlim.cs
Sumber:
ReaderWriterLockSlim.cs

Mencoba memasukkan kunci dalam mode baca, dengan batas waktu opsional.

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

Parameter

timeout
TimeSpan

Interval untuk menunggu, atau -1 milidetik untuk menunggu tanpa batas waktu.

Mengembalikan

true jika utas panggilan memasuki mode baca, jika tidak, false.

Pengecualian

Properti RecursionPolicy adalah NoRecursion dan utas saat ini telah memasukkan kunci.

-atau-

Jumlah rekursi akan melebihi kapasitas penghitung. Batasnya sangat besar sehingga aplikasi tidak boleh menemukannya.

Nilai timeout negatif, tetapi tidak sama dengan -1 milidetik, yang merupakan satu-satunya nilai negatif yang diizinkan.

-atau-

Nilai timeout lebih besar dari Milidetik Int32.MaxValue .

Keterangan

Jika timeout adalah 0 (nol), metode ini memeriksa status kunci dan segera kembali false jika status yang diinginkan tidak tersedia.

Beberapa utas dapat memasukkan kunci dalam mode baca secara bersamaan.

Jika satu atau beberapa utas diantrekan untuk memasuki mode tulis, utas yang memanggil blok metode hingga utas tersebut TryEnterReadLock kehabisan waktu atau memasuki mode tulis lalu keluar darinya, atau sampai interval waktu habis utas panggilan sendiri kedaluwarsa.

Catatan

Jika kunci memungkinkan rekursi, utas yang telah memasuki kunci dalam mode baca dapat memasuki mode baca secara rekursif, bahkan jika utas lain menunggu untuk memasuki mode tulis.

Satu utas dapat berada dalam mode yang dapat ditingkatkan sementara utas lain dalam mode baca. Jika utas tambahan menunggu untuk memasuki mode yang dapat ditingkatkan, dan tidak ada utas yang menunggu untuk memasuki mode tulis, utas yang memanggil TryEnterReadLock metode segera memasuki mode baca dan tidak memblokir.

Berlaku untuk