Sobes.tech
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++;
    }
}