Junior — Middle
Kun je de belangrijkste mechanismen voor synchronisatie van threads en processen opsommen?
sobes.tech AI
Antwoord van AI
De belangrijkste synchronisatie-mechanismen voor threads en processen in C# omvatten:
- lock — zorgt voor exclusieve toegang tot een bron door een codeblok te blokkeren voor andere threads.
- Mutex — een interprocesmechanisme dat het toegangssynchronisatie tussen verschillende processen mogelijk maakt.
- Semaphore en SemaphoreSlim — beperken het aantal threads dat gelijktijdig toegang kan krijgen tot een bron.
- Monitor — een flexibelere vergrendelingsmechanisme met de mogelijkheid om te wachten en threads te informeren.
- AutoResetEvent en ManualResetEvent — laten threads wachten op een signaal om door te gaan.
- Interlocked — biedt atomische bewerkingen op variabelen om racecondities te voorkomen.
Voorbeeld van het gebruik van lock:
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// kritieke sectie
counter++;
}
}