Junior — Middle
Vai vari uzskaitīt galvenos pavedienu un procesu sinhronizācijas mehānismus?
sobes.tech AI
Atbilde no AI
Galvenie pavedienu un procesu sinhronizācijas mehānismi C# ietver:
- lock — nodrošina ekskluzīvu piekļuvi resursam, bloķējot koda sadaļu citiem pavedieniem.
- Mutex — starpprocesu bloķēšanas mehānisms, kas ļauj sinhronizēt piekļuvi starp dažādiem procesiem.
- Semaphore un SemaphoreSlim — ierobežo to pavedienu skaitu, kas vienlaikus var piekļūt resursam.
- Monitor — elastīgāks bloķēšanas mehānisms ar iespēju gaidīt un paziņot pavedieniem.
- AutoResetEvent un ManualResetEvent — ļauj pavedieniem gaidīt signālu, lai turpinātu darbu.
- Interlocked — nodrošina atomiskas operācijas pār mainīgajiem, novēršot sacensību stāvokļus.
Piemērs, kā izmantot lock:
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// kritiskā sadaļa
counter++;
}
}