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