Junior — Middle
Qaysi iplarni sinxronlashtirish mexanizmlarni bilasiz va o'z loyihalaringizda foydalanishingiz mumkin?
sobes.tech AI
AIdan javob
C# da ishlash oqimlarini sinxronlashtirish uchun turli mexanizmlardan foydalaniladi:
- lock — kritik kod bo‘limini bloklashning oddiy usuli.
- Mutex — jarayonlararo blokirovka, turli jarayonlar o‘rtasida kirishni sinxronlashtirish zarur bo‘lsa foydalidir.
- Semaphore va SemaphoreSlim — ma'lum bir kod bo‘lagini bir vaqtning o‘zida bajaradigan oqimlar sonini cheklash imkonini beradi.
- Monitor — lock asosida turgan, yanada moslashuvchan mexanizm.
- ManualResetEvent va AutoResetEvent — oqimlar o‘rtasida signal berish uchun.
- System.Collections.Concurrent nomli joydan foydalanadigan birgalikda ishlash uchun to‘plamlar — to‘plamlarga oqimlar xavfsiz kirishni ta'minlaydi.
lock dan foydalanish misoli:
private readonly object _lockObj = new object();
public void IncrementCounter()
{
lock(_lockObj)
{
// Kritik bo‘lim
counter++;
}
}