«locking» etiketlenmiş sorular

Kilitleme, farklı türdeki kaynakların yalnızca bir seferde tek bir işlem tarafından kullanılmasına izin verir.

9
Uçucuya Karşı Kilitli ve Kilitli
Diyelim ki bir sınıfın public int counterbirden çok iş parçacığı tarafından erişilen bir alanı var. Bu intyalnızca artırılır veya azaltılır. Bu alanı arttırmak için hangi yaklaşım kullanılmalı ve neden? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Erişim değiştiricisini olarak counterdeğiştirin public volatile. Şimdi keşfettiğime göre volatile, birçok lockifadeyi ve kullanımını kaldırdım Interlocked. Ama …

10
İyimser ve Kötümser kilitleme
İyimser ve kötümser kilitleme arasındaki farkları anlıyorum. Birisi bana genel olarak birini ne zaman kullanacağımı açıklayabilir mi? Ve bu sorunun cevabı, sorguyu gerçekleştirmek için saklı bir yordam kullanıp kullanmadığımma bağlı olarak değişir mi? Ama sadece kontrol etmek için, iyimser "okurken masayı kilitlemeyin" ve karamsar ise "okurken masayı kilitleyin" anlamına gelir.

8
Kilit tam olarak nasıl çalışır?
İş parçacığı güvenli olmayan nesneleri kullanmak için kodu böyle bir kilit ile sarın görüyorum: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Birden fazla iş parçacığı aynı koda eriştiğinde ne olur (bir ASP.NET web uygulamasında çalıştığını varsayalım). Kuyrukta mı? Eğer öyleyse ne …

16
Lock (this) {…} neden kötü?
MSDN belgelerine diyor public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } "örneğe genel olarak erişilebiliyorsa bir sorundur". Nedenini merak ediyorum? Kilit gereğinden fazla tutulacağı için mi? Yoksa daha sinsi bir sebep var mı?




5
SELECT deyimlerinde NOLOCK ipucunun etkisi
Asıl soru şu: Ben kirli okumalar umurumda değilse, bir SELECT deyimi ile (NOLOCK) ipucu ekleyerek performansını etkileyecektir: geçerli SELECT deyimi verilen tabloya göre yapılan diğer işlemler Misal: Select * from aTable with (NOLOCK)
199 sql  sql-server  locking 


7
Yinelemeli Kilit (Mutex) ve Yinelemesiz Kilit (Mutex)
POSIX, mutekslerin özyinelemesine izin verir. Bu, aynı iş parçacığının aynı muteksi iki kez kilitleyebileceği ve kilitlenmeyeceği anlamına gelir. Tabii ki aynı zamanda iki kez kilidini açması gerekiyor, aksi takdirde başka hiçbir iplik muteksi elde edemez. Pthreads'i destekleyen tüm sistemler özyinelemeli muteksleri de desteklemez, ancak POSIX uyumlu olmak istiyorlarsa, yapmak zorundadırlar …


17
Kilitlenme nedir?
Çok iş parçacıklı uygulamalar yazarken karşılaşılan en yaygın sorunlardan biri çıkmazlardır. Topluluğa sorularım: Kilitlenme nedir? Onları nasıl tespit edersiniz? Onlarla ilgileniyor musun? Son olarak, onların oluşmasını nasıl önlersiniz?

5
.NET Framework'te Eşzamanlı HashSet <T>?
Aşağıdaki sınıfa sahibim. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } Alan "Veri" farklı iş parçacıklarını değiştirmek gerekir, bu yüzden geçerli iş parçacığı güvenli uygulama hakkında bazı görüşler istiyorum. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) …



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.