Condition de course

Auteur: John Stephens
Date De Création: 2 Janvier 2021
Date De Mise À Jour: 29 Juin 2024
Anonim
What is ADHD?
Vidéo: What is ADHD?

Contenu

Définition - Que signifie la condition de concurrence?

Une condition de concurrence critique est un comportement qui se produit dans des applications logicielles ou des systèmes électroniques, tels que des systèmes logiques, dans lequel la sortie dépend du minutage ou de la séquence d'autres événements incontrôlables. Les conditions de concurrence sont également présentes dans les logiciels qui prennent en charge le multithreading, utilisent un environnement distribué ou sont interdépendants des ressources partagées. Les conditions de course conduisent souvent à des bogues, car ces événements se déroulent d'une manière que le système ou le programmeur n'a jamais conçue. Cela peut souvent entraîner un crash du périphérique, une notification d'erreur ou l'arrêt de l'application.


Une condition de concurrence est également appelée risque de compétition.

Introduction à Microsoft Azure et au nuage Microsoft | Tout au long de ce guide, vous apprendrez ce qu'est le cloud computing et comment Microsoft Azure peut vous aider à migrer et à exploiter votre entreprise à partir du cloud.

Techopedia explique l'état de la course

Une condition de concurrence est souvent classée comme une condition de concurrence critique ou non critique. Une situation de concurrence critique se produit lorsque la séquence de modification des variables internes détermine l'état final de la machine. Une condition de concurrence non critique se produit lorsque la séquence de modifications des variables internes n'a aucun impact sur l'état final de la machine. Il est notoire que les conditions de course sont difficiles à résoudre, car la reproduction dépend du timing relatif entre les différents éléments. Parfois, en particulier avec les applications logicielles, le problème disparaît lorsqu’il est exécuté en mode débogage grâce à un enregistreur ou un débogueur supplémentaire.


L'un des meilleurs moyens d'éviter une situation critique dans les applications logicielles et matérielles est l'utilisation de l'exclusion mutuelle, qui garantit qu'un seul processus peut gérer la ressource partagée à la fois, tandis que les autres processus doivent attendre. Dans de nombreux cas, les conditions de concurrence peuvent être évitées dans les environnements informatiques avec l'aide de la sérialisation de l'accès à la mémoire ou au stockage. Une autre technique recommandée, en particulier dans les applications logicielles, consiste à analyser et à éviter la situation de concurrence critique dans la conception même du logiciel. Certains outils logiciels disponibles aident à détecter les conditions de concurrence pour les logiciels.