SpinLock.Enter(Boolean) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memperoleh kunci dengan cara yang dapat diandalkan, sehingga bahkan jika pengecualian terjadi dalam panggilan metode, lockTaken dapat diperiksa dengan andal untuk menentukan apakah kunci diperoleh.
public:
void Enter(bool % lockTaken);
public void Enter(ref bool lockTaken);
member this.Enter : bool -> unit
Public Sub Enter (ByRef lockTaken As Boolean)
Parameter
- lockTaken
- Boolean
True jika kunci diperoleh; jika tidak, salah.
lockTaken harus diinisialisasi ke false sebelum memanggil metode ini.
Pengecualian
Argumen lockTaken harus diinisialisasi ke false sebelum memanggil Enter.
Pelacakan kepemilikan utas diaktifkan, dan utas saat ini telah memperoleh kunci ini.
Keterangan
SpinLock adalah kunci non-reentrant, yang berarti bahwa jika utas menahan kunci, tidak diizinkan untuk memasukkan kunci lagi. Jika pelacakan kepemilikan utas diaktifkan (apakah diaktifkan tersedia melalui IsThreadOwnerTrackingEnabled), pengecualian akan dilemparkan ketika utas mencoba memasukkan kembali kunci yang sudah ditahannya. Namun, jika pelacakan kepemilikan utas dinonaktifkan, mencoba memasukkan kunci yang sudah dipegang akan mengakibatkan kebuntuan.
Jika Anda memanggil Exit tanpa harus terlebih dahulu memanggil Enter status SpinLock internal dapat rusak.