Sobes.tech
Junior — Middle

Kannst du die wichtigsten Mechanismen der Thread- und Prozesssynchronisation aufzählen?

sobes.tech KI

Antwort von AI

Die wichtigsten Mechanismen zur Synchronisation von Threads und Prozessen in C# umfassen:

  • lock — sorgt für exklusiven Zugriff auf eine Ressource, indem es einen Codeabschnitt für andere Threads blockiert.
  • Mutex — interprozessuales Sperrmechanismus, der die Synchronisation des Zugriffs zwischen verschiedenen Prozessen ermöglicht.
  • Semaphore und SemaphoreSlim — beschränken die Anzahl der Threads, die gleichzeitig auf eine Ressource zugreifen können.
  • Monitor — ein flexiblerer Sperrmechanismus mit der Fähigkeit, auf Threads zu warten und sie zu benachrichtigen.
  • AutoResetEvent und ManualResetEvent — erlauben Threads, auf ein Signal zu warten, um fortzufahren.
  • Interlocked — bietet atomare Operationen an Variablen, um Race Conditions zu verhindern.

Beispiel für die Verwendung von lock:

private readonly object _locker = new object();

void IncrementCounter()
{
    lock (_locker)
    {
        // kritischer Abschnitt
        counter++;
    }
}