Unicorn with delicious cookie
Nous utilisons des cookies pour améliorer votre expérience de navigation. En savoir plus
Accepter
to the top
>
>
>
Race condition

Race condition

26 Déc 2011

Race condition. Another name: data race. A programming error in a multitask system when the system's work depends on the order in which code sections are executed. Race condition is a classical Heisenbug. Race condition occurs when several threads of a multithread application try to simultaneously get access to the data, meanwhile at least one thread performs saving. Race condition can lead to unpredictable results and they are often difficult to detect. Sometimes race condition's consequences occur only after a large period of time and in some other part of the application. Besides, such errors are very difficult to reproduce. To avoid race condition, synchronization methods are used allowing you to properly arrange operations executed by different threads. Here is an example. Assume one thread execute operation x = x + 3 over a shared variable x, while another thread executes operation x = x + 5. These operations for each thread are actually divided into three separate suboperations: to read x from memory, to increase x and then write x in memory. Depending on mutual order of suboperations executed by the threads the final value of x variable can excess the original one by 3, 5 or 8.

References

Popular related articles

S'abonner

Comments (0)

close comment form
close form

Remplissez le formulaire ci‑dessous en 2 étapes simples :

Vos coordonnées :

Étape 1
Félicitations ! Voici votre code promo !

Type de licence souhaité :

Étape 2
Team license
Enterprise licence
** En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité
close form
Demandez des tarifs
Nouvelle licence
Renouvellement de licence
--Sélectionnez la devise--
USD
EUR
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
La licence PVS‑Studio gratuit pour les spécialistes Microsoft MVP
close form
Pour obtenir la licence de votre projet open source, s’il vous plait rempliez ce formulaire
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
I want to join the test
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
check circle
Votre message a été envoyé.

Nous vous répondrons à


Si l'e-mail n'apparaît pas dans votre boîte de réception, recherchez-le dans l'un des dossiers suivants:

  • Promotion
  • Notifications
  • Spam