Sobes.tech
Junior — Middle

Ip o'z ichiga olgan asosiy sinxronlash mexanizmlarni sanab o'ta olasizmi?

sobes.tech AI

AIdan javob

C# dasturida iplar va jarayonlarni sinxronlashtirishning asosiy mexanizmlari quyidagilardan iborat:

  • lock — resursga eksklyuziv kirishni ta'minlaydi, kod bo'laklarini boshqa iplar uchun bloklaydi.
  • Mutex — jarayonlararo blokirovka mexanizmi bo'lib, turli jarayonlar o'rtasida kirishni sinxronlashtirish imkonini beradi.
  • Semaphore va SemaphoreSlim — bir vaqtning o'zida resursga kirish mumkin bo'lgan iplar sonini cheklaydi.
  • Monitor — yanada moslashuvchan blokirovka mexanizmi bo'lib, iplarning kutishi va bildirish imkonini beradi.
  • AutoResetEvent va ManualResetEvent — iplarning signal kutishiga va davom etishiga imkon beradi.
  • Interlocked — o'zgaruvchilar ustida atomik operatsiyalarni ta'minlab, raqobat sharoitlarini oldini oladi.

lock dan foydalanish misoli:

private readonly object _locker = new object();

void IncrementCounter()
{
    lock (_locker)
    {
        // kritik bo'lak
        counter++;
    }
}