Sobes.tech
Junior — Middle

Стандарттык китепкананын камсыздаган негизги синхрондоштуучу primitives'терин тизмелеп бере аласызбы?

sobes.tech AI

AIден жооп

C# стандарттык китепканасында (System.Threading аталыштуу кеңейтүү бөлүмүндө) төмөнкү негизги синхрондоштуруу primitives бар:

  • lock (Monitor) — ресурска эксклюзивдүү кирүүгө камсыз кылат, код бөлүгүн блоктойт.
  • Mutex — көп процесстүү mutex, процесстер ортосунда синхрондоштуруу үчүн колдонулат.
  • Semaphore жана SemaphoreSlim — бир убакта ресурска кирүүчү түзүмдөрдүн санын чектейт.
  • AutoResetEvent жана ManualResetEvent — түзүмдөр ортосунда сигнал берүү үчүн иштетүүлөр.
  • ReaderWriterLockSlim — бир нече түзүмдөр ресурсты бир убакта окууга мүмкүндүк берет, жазууга бөгөт коет.
  • SpinLock — кыска мөөнөттүү блоктоолор үчүн жеңил primitive, контекст алмаштыруусуз.

lock колдонуу мисалы:

private readonly object _lockObj = new object();

void CriticalSection()
{
    lock(_lockObj)
    {
        // код, аны бир мезгилде бир гана түзүм аткара алат
    }
}