Sobes.tech
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++;
    }
}