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