SpinLock.Enter(Boolean) 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 güvenilir bir şekilde alır, böylece yöntem çağrısında bir özel durum oluşsa bile, lockTaken
kilidin alınıp alınmadığını belirlemek için güvenilir bir şekilde incelenebilir.
public:
void Enter(bool % lockTaken);
public void Enter (ref bool lockTaken);
member this.Enter : bool -> unit
Public Sub Enter (ByRef lockTaken As Boolean)
Parametreler
- lockTaken
- Boolean
Kilit alınırsa true; aksi takdirde false. lockTaken
bu yöntemi çağırmadan önce false olarak başlatılmalıdır.
Özel durumlar
lockTaken
Bağımsız değişken, Enter çağrılmadan önce false olarak başlatılmalıdır.
İş parçacığı sahipliğini izleme etkinleştirildi ve geçerli iş parçacığı bu kilidi zaten aldı.
Açıklamalar
SpinLock yeniden giriş yapmayan bir kilittir; başka bir deyişle, bir iş parçacığı kilidi tutarsa, kilidi yeniden girmesine izin verilmez. İş parçacığı sahipliğini izleme etkinse (etkinleştirilip etkinleştirilmediği aracılığıyla kullanılabilir IsThreadOwnerTrackingEnabled), bir iş parçacığı zaten barındırdığı bir kilidi yeniden girmeye çalıştığında bir özel durum oluşturulur. Ancak, iş parçacığı sahipliği izleme devre dışı bırakılırsa, zaten tutulan bir kilit girmeye çalışmak kilitlenmeye neden olur.
önce çağrısı Enter yapmadan çağrısı Exit yaparsanız iç durumu SpinLock bozulabilir.