Sobes.tech
Junior — Middle

İş parçaları və proseslərin sinxronizasiyasının əsas mexanizmlərini sadalayabilir misiniz?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində iş parçacıqları və proseslərin sinxronizasiyasının əsas mexanizmləri aşağıdakılardır:

  • lock — digər iş parçacıqları üçün kod sahəsini bloklayaraq resursa eksklüziv giriş təmin edir.
  • Mutex — proseslərarası kilidləmə mexanizmi olub, müxtəlif proseslər arasında girişin sinxronizasiyasını təmin edir.
  • Semaphore və SemaphoreSlim — eyni zamanda resursa giriş edə biləcək iş parçacıqlarının sayını məhdudlaşdırır.
  • Monitor — daha çevik kilidləmə mexanizmi olub, iş parçacıqlarının gözləməsinə və bildirişinə imkan verir.
  • AutoResetEvent və ManualResetEvent — iş parçacıqlarının siqnalı gözləməsinə və davam etməsinə imkan verir.
  • Interlocked — dəyişənlər üzərində atomik əməliyyatlar təmin edir, yarış vəziyyətlərinin qarşısını alır.

lock istifadə nümunəsi:

private readonly object _locker = new object();

void IncrementCounter()
{
    lock (_locker)
    {
        // kritik bölmə
        counter++;
    }
}