Mutex

Türkçe karşılığı: Karşılıklı dışlama kilidiAlan: Eşzamanlılık

Paylaşılan bir kritik bölgeye aynı anda yalnız bir yürütme akışının girmesini sağlayan karşılıklı dışlama senkronizasyon primitive'i.

Mutex, paylaşılan durum üzerinde aynı anda birden fazla thread'in kritik bölgeye girmesini engeller. Doğruluk açısından basit görünse de performans maliyeti yalnız lock/unlock çağrısından ibaret değildir; contention, scheduler geçişi, cache-line hareketi ve priority inversion gecikmeyi büyütebilir.

Kilit kapsamı mümkün olduğunca küçük olmalı ancak korunan invariant parçalanmamalıdır. Birden fazla mutex kullanıldığında edinme sırası tutarlı değilse deadlock oluşabilir. Read-mostly veya çok çekirdekli yapılarda mutex yerine farklı senkronizasyon teknikleri daha uygun olabilir; seçim ölçüm ve erişim deseniyle yapılmalıdır.

İlgili: Critical Section, Deadlock, Priority Inversion, Lock-Free.

İlgili teknik yayınlar

Başlık veya özetinde bu kavrama doğrudan karşılık gelen yayınlar.

Kilitsiz (Lock-Free) Kuyruklarda Gerçek Maliyet

Lock-free bir kuyruğun mutex kullanmaması onu otomatik olarak daha hızlı yapmaz. CAS çekişmesi, önbellek satırı paylaşımı, bellek sıralaması, üretici/tüketici topolojisi ve geri basınç birlikte değerlendirilmelidir.