Comment : coordonner plusieurs threads d'exécution
Pour que vos composants multithread soient thread-safe, vous devez coordonner l'accès aux ressources partagées. La tentative simultanée de plusieurs threads d'accéder à une ressource partagée, peut entraîner des conditions de concurrence critique, provoquant ainsi l'altération des données. L'utilisation de verrous peut vous permettre d'éviter ces conditions de concurrence critique. Pour plus d'informations sur la compatibilité des threads et les conditions de concurrence critique, consultez Composants thread-safe.
Pour créer un verrou sur un objet
Identifiez le code à exécuter de façon atomique et l'objet sur lequel le code doit être exécuté. Pour plus d'informations, consultez Composants thread-safe.
Placez un verrou sur cet objet, puis insérez votre code dans ce verrou.
Ce code sera désormais exécuté de façon atomique sur l'objet verrouillé.
SyncLock MyObject ' This represents the start of the lock on MyObject. ' Insert code to be executed atomically on MyObject here. End SyncLock ' This represents the end of the lock.
lock (MyObject) // All code inside the braces {} is executed with MyObject locked. { // Insert code to be executed atomically on MyObject here. }
Voir aussi
Tâches
Procédure pas à pas : création d'un composant simple multithread avec Visual Basic
Procédure pas à pas : création d'un composant simple multithread à l'aide de Visual C#
Référence
Concepts
Vue d'ensemble du modèle asynchrone basé sur des événements