Accueil l'audio Qu'est-ce qu'une condition de concurrence? - définition de techopedia

Qu'est-ce qu'une condition de concurrence? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie la condition de race?

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, où la sortie dépend du moment ou de la séquence d'autres événements incontrôlables. Les conditions de concurrence se produisent également dans les logiciels qui prennent en charge le multithreading, utilisent un environnement distribué ou sont interdépendants des ressources partagées. Les conditions de concurrence conduisent souvent à des bogues, car ces événements se produisent d'une manière que le système ou le programmeur n'a jamais prévu. Cela peut souvent entraîner un plantage de l'appareil, une notification d'erreur ou l'arrêt de l'application.

Une condition de course est également connue comme un danger de course.

Techopedia explique la condition de course

Une condition de course est souvent classée comme une condition de course critique ou une condition de course non critique. Une condition critique de concurrence critique se produit lorsque la séquence dans laquelle les variables internes changent détermine l'état final de la machine. Une condition de concurrence non critique se produit lorsque la séquence dans laquelle les modifications des variables internes n'ont aucun impact sur l'état final de la machine. Les conditions de course sont connues pour être difficiles à dépanner, 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 lors de l'exécution en mode débogage grâce à un enregistreur ou débogueur supplémentaire.

L'une des meilleures façons d'éviter une condition de concurrence 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 d'autres processus doivent attendre. Dans de nombreux cas, les conditions de concurrence peuvent être évitées dans les environnements informatiques à l'aide de la sérialisation de la mémoire ou de l'accès au stockage. Une autre technique recommandée, en particulier dans les applications logicielles, consiste à analyser et à éviter la condition de concurrence dans la conception du logiciel lui-même. Il existe certains outils logiciels disponibles qui aident à détecter les conditions de concurrence pour les logiciels.

Qu'est-ce qu'une condition de concurrence? - définition de techopedia