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