Junior — Middle
İş Parçacıkları ve süreçlerin senkronizasyonunun temel mekanizmalarını sıralayabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
C# dilinde iş parçacıkları ve süreçlerin senkronizasyonunun temel mekanizmaları şunlardır:
- lock — başka iş parçacıklarının erişimini engelleyen, kaynağa özel erişim sağlar.
- Mutex — farklı süreçler arasında erişimi senkronize etmeye imkan tanıyan süreçler arası kilitleme mekanizmasıdır.
- Semaphore ve SemaphoreSlim — aynı anda bir kaynağa erişebilecek iş parçacığı sayısını sınırlar.
- Monitor — daha esnek bir kilitleme mekanizmasıdır ve iş parçacıklarının beklemesine ve bildirilmesine olanak tanır.
- AutoResetEvent ve ManualResetEvent — iş parçacıklarının devam etmek için sinyal beklemesine izin verir.
- Interlocked — yarış koşullarını önlemek için değişkenler üzerinde atomik işlemler sağlar.
lock kullanımına örnek:
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// kritik bölüm
counter++;
}
}