Lenktynių aplinka

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką
 NoFonti.svg  Šiam straipsniui ar jo daliai trūksta šaltinių ar nuorodų į juos.
Jūs galite padėti Vikipedijai įrašydami tinkamas išnašas ar nuorodas į šaltinius.

Lenktynių aplinka (angl. race condition) situacija programavime, kai objektui realiai pritaikoma operacijų seka nesutampa su ta, kurios tikėjosi programuotojas. Taip atsitinka kuomet objektu vienu metu manipuliuoja dvi ir daugiau gijų. Pavyzdžiui, šis metodas (java):

     static int skaitiklis;
     int kita_reikšmė()
       {
          skaitiklis = skaitiklis + 1;
          // Kita gija gali šioje vietoje padidinti skaitiklį dar kartą. 
          return skaitiklis;
       },

jei vykdomas kelių gijų vienu metu, gali keliskart grąžinti tą pačią skaitiklio reikšmę, ko nepatyręs programuotojas paprastai nesitiki.

Dažnai lenktynių aplinkos yra labai sunkiai aptinkamos, bet nesunkiai ištaisomos įvairiais semaforais.