Junior — Middle
Pouvez-vous énumérer les principaux mécanismes de synchronisation des threads et des processus?
sobes.tech IA
Réponse de l'IA
Les principaux mécanismes de synchronisation des threads et processus en C# incluent :
- lock — assure un accès exclusif à une ressource, bloquant une section du code pour d'autres threads.
- Mutex — mécanisme de verrouillage inter-processus, permettant de synchroniser l'accès entre différents processus.
- Semaphore et SemaphoreSlim — limitent le nombre de threads pouvant accéder simultanément à une ressource.
- Monitor — mécanisme de verrouillage plus flexible avec capacité d'attendre et de notifier les threads.
- AutoResetEvent et ManualResetEvent — permettent aux threads d'attendre un signal pour continuer.
- Interlocked — fournit des opérations atomiques sur des variables pour éviter les conditions de course.
Exemple d'utilisation de lock :
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// section critique
counter++;
}
}