SpinLock.Enter(Boolean) Metode

Definisi

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.

Berlaku untuk

Lihat juga