Sobes.tech
Junior — Middle

Standart kütüphane tarafından sağlanan temel senkronizasyon primitivlerini listeleyebilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

C#'ın standart kütüphanesinde (System.Threading isim alanında) aşağıdaki temel senkronizasyon primitivleri mevcuttur:

  • lock (Monitor) — bir kaynağa özel erişim sağlar, kod bloğunu kilitler.
  • Mutex — çok işlemli mutex, işlemler arasında senkronizasyon için kullanılır.
  • Semaphore ve SemaphoreSlim — aynı anda kaynağa erişen thread sayısını sınırlar.
  • AutoResetEvent ve ManualResetEvent — threadler arasında sinyalizasyon için olaylar.
  • ReaderWriterLockSlim — birden fazla thread'ün aynı anda okumasına izin verir, yazma işlemini engeller.
  • SpinLock — kısa süreli kilitler için hafif primitiv, bağlam değiştirmeden.

lock kullanımına örnek:

private readonly object _lockObj = new object();

void CriticalSection()
{
    lock(_lockObj)
    {
        // sadece bir thread tarafından çalıştırılması gereken kod
    }
}