Critical Section

Türkçe karşılığı: Kritik bölgeAlan: Eşzamanlılık

Birden fazla thread veya işlem tarafından eşzamanlı yürütüldüğünde paylaşılan durumun invariant'ını bozabilecek ve bu nedenle kontrollü erişim gerektiren kod bölgesi.

Kritik bölgenin amacı aynı anda yalnız bir thread çalıştırmak değildir; korunması gereken paylaşılan invariant'ı yarış koşulundan korumaktır. Bu sınır gereğinden geniş seçilirse lock contention ve tail latency büyür, gereğinden dar seçilirse birbirine bağlı değişiklikler farklı senkronizasyon pencerelerine ayrılır.

Mutex veya synchronized kritik bölgeyi koruyabilir; lock-free algoritmalarda ise aynı invariant atomik primitive ve retry döngüsüyle korunur. Dolayısıyla "kilit yok" ifadesi kritik paylaşılan durum olmadığı anlamına gelmez.

İlgili: Race Condition, Mutex, Compare-and-Swap, Lock-Free, Kilitsiz Kuyruklarda Gerçek Maliyet.