Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre L'Instruction Lock | Threading
C# Avancé Avec .NET
course content

Contenu du cours

C# Avancé Avec .NET

C# Avancé Avec .NET

1. Introduction au Développement de Bureau avec .NET
2. GUI Interactif
3. Threading
4. Génériques et Réflexion

book
L'Instruction Lock

Lorsque vous travaillez avec plusieurs threads, il peut y avoir des situations où plusieurs threads essaient d'accéder et de mettre à jour une ressource en même temps. Une ressource peut être n'importe quoi, par exemple une variable, un fichier, ou même une ressource distante qui est accédée via une API.

De telles situations sont appelées "conditions de course" car les threads se disputent généralement la même ressource et modifier la même ressource en même temps peut conduire à des résultats imprévisibles et incohérents.

Nous pouvons nous assurer qu'il n'y a pas de conditions de course dans notre application en entourant le code avec des instructions lock partout où il est prévu que plusieurs threads pourraient essayer d'exécuter ces instructions en même temps.

Dans le cas où plusieurs threads essaient d'accéder à une ressource ou d'exécuter un morceau de code entouré d'un lock, ils sont mis en file d'attente et forcés d'accéder à la ressource un par un, éliminant ainsi toute chance de condition de course.

La syntaxe pour une instruction lock est :

cs

index

copy
1234
object keyObject = new object(); lock(keyObject) { // code to execute }

Ici, keyObject est une instance de la classe object, et il sert de clé qui assure la synchronisation entre plusieurs threads. Cet objet doit être le même pour tous les threads, il est donc généralement conseillé d'en faire soit un membre statique, soit de le rendre accessible à tous les threads sans aucune modification.

La vidéo suivante démontre l'utilisation de l'instruction lock :

1. Quel est le but de l'instruction lock en C# ?

2. Quel mot-clé est utilisé pour définir une section critique de code protégée par un verrou ?

Quel est le but de l'instruction lock en C# ?

Quel est le but de l'instruction lock en C# ?

Sélectionnez la réponse correcte

Quel mot-clé est utilisé pour définir une section critique de code protégée par un verrou ?

Quel mot-clé est utilisé pour définir une section critique de code protégée par un verrou ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
We're sorry to hear that something went wrong. What happened?
some-alt