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++;
}
}