Sobes.tech
Junior — Middle

Кадом механизмҳои ҳамоҳангсозии сӯрохиҳоро медонед ва метавонед дар лоиҳахоятон истифода баред?

sobes.tech AI

Ҷавоб аз AI

Дар C# барои ҳамоҳангсозии сӯрохҳо механизмҳои гуногун истифода мешаванд:

  • lock — роҳи содда барои бастани қисмати критикӣ дар коди.
  • Mutex — бастани байнипротсессӣ, ки вақте ки бояд дастрасиро байни протсессҳо ҳамоҳанг кард, кӯмак мекунад.
  • Semaphore ва SemaphoreSlim — имкон медиҳанд, ки шумораи сӯрохҳоро, ки ҳамзамон иҷро мешаванд, маҳдуд кард.
  • Monitor — механизм бештар чандир, ки дар асоси lock аст.
  • ManualResetEvent ва AutoResetEvent — барои сигналгузорӣ байни сӯрохҳо.
  • Коллексияҳои ҳамоҳангшуда аз фазои номҳои System.Collections.Concurrent — дастрасии бехатари сӯрохҳо ба коллексияҳоро таъмин мекунанд.

Масалан барои истифодаи lock:

private readonly object _lockObj = new object();

public void IncrementCounter()
{
    lock(_lockObj)
    {
        // қисмати критикӣ
        counter++;
    }
}