Sobes.tech
Junior — Middle

Můžeš vyjmenovat hlavní mechanismy synchronizace vláken a procesů?

sobes.tech AI

Odpověď od AI

Hlavní mechanismy synchronizace vláken a procesů v C# zahrnují:

  • lock — zajišťuje výlučný přístup k prostředku tím, že blokuje část kódu pro ostatní vlákna.
  • Mutex — meziprocesní mechanismus zámku, který umožňuje synchronizaci přístupu mezi různými procesy.
  • Semaphore a SemaphoreSlim — omezují počet vláken, která mohou současně přistupovat k prostředku.
  • Monitor — flexibilnější mechanismus zámku s možností čekání a oznámení vláken.
  • AutoResetEvent a ManualResetEvent — umožňují vláknům čekat na signál pro pokračování.
  • Interlocked — poskytuje atomické operace nad proměnnými, aby zabránil závodům.

Příklad použití lock:

private readonly object _locker = new object();

void IncrementCounter()
{
    lock (_locker)
    {
        // kritická sekce
        counter++;
    }
}