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
}
}