Junior — Middle
Standart kitabxana tərəfindən təmin olunan əsas sinxronizasiya primitivlərini sadalaya bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
C#-ın standart kitabxanasında (System.Threading ad sahəsində) aşağıdakı əsas sinxronizasiya primitivləri mövcuddur:
- lock (Monitor) — resursa eksklüziv giriş təmin edir, kod blokunu kilidləyir.
- Mutex — çox prosesli mutex, proseslər arasında sinxronizasiya üçün istifadə olunur.
- Semaphore və SemaphoreSlim — eyni zamanda resursa giriş edən threadlərin sayını məhdudlaşdırır.
- AutoResetEvent və ManualResetEvent — threadlər arasında siqnal üçün hadisələr.
- ReaderWriterLockSlim — bir neçə thread-in eyni vaxtda resursu oxumasına imkan verir, yazmağı bloklayır.
- SpinLock — qısa müddətli kilidlər üçün yüngül primitiv, kontekst dəyişmədən.
lock istifadə nümunəsi:
private readonly object _lockObj = new object();
void CriticalSection()
{
lock(_lockObj)
{
// yalnız bir thread-in eyni zamanda icra etməli olduğu kod
}
}