Sobes.tech
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++;
    }
}