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)
{
// код, аны бир мезгилде бир гана түзүм аткара алат
}
}