Aracılığıyla paylaş


SpinLock

Yapı SpinLock , kilit elde etmek için beklerken dönen düşük düzeyli, karşılıklı dışlama eşitleme temelidir. Çok çekirdekli bilgisayarlarda, bekleme sürelerinin kısa olması beklendiğinde ve çekişme çok az olduğunda, SpinLock diğer kilit türlerinden daha iyi performans sergileyebilir. Ancak, yalnızca yönteminin veya Interlocked yöntemlerin System.Threading.Monitor programınızın performansını önemli ölçüde yavaşlattığını profil ekleyerek belirlediğinizde kullanmanızı SpinLock öneririz.

SpinLock henüz kilidi almamış olsa bile iş parçacığının zaman dilimini verebilir. Bunu iş parçacığı öncelikli ters çevirmeyi önlemek ve çöp toplayıcının ilerlemesini sağlamak için yapar. kullandığınızda SpinLock, hiçbir iş parçacığının kilidi çok kısa bir süre boyunca tutamadığından ve kilidi tutarken hiçbir iş parçacığının engelleyediğinden emin olun.

SpinLock bir değer türü olduğundan, iki kopyanın aynı kilide başvurmasını istiyorsanız bunu açıkça başvuruya göre geçirmeniz gerekir.

Bu türü kullanma hakkında daha fazla bilgi için bkz System.Threading.SpinLock. . Bir örnek için bkz . Nasıl yapılır: Düşük Düzeyli Eşitleme için SpinLock Kullanma.

SpinLock, kilidi belirli bir zamanda tutan iş parçacığını-izlemeye yardımcı olmak için geliştirme aşamasında kullanabileceğiniz bir iş parçacığı izleme modunu destekler. İş parçacığı izleme modu hata ayıklama için çok yararlıdır, ancak performansı yavaşlatabileceğinden programınızın yayın sürümünde kapatmanızı öneririz. Daha fazla bilgi için bkz . Nasıl yapılır: SpinLock'ta İş Parçacığı İzleme Modunu Etkinleştirme.

Ayrıca bkz.