Yarış durumu (ing. race condition) – çoxaxınlı sistem və ya tətbiqi proqramın düzgün layihələndirilməməsi nəticəsində yaranan xətadır. Belə ki, sistemin, yaxud tətbiqi proqramın işi kodun hissələrinin hansı ardıcıllıqla yerinə yetirilməsindən asılı olur. Məsələn, Java dilindəki aşağıdakı kod nümunəsinə baxaq:
int x;
// Axın 1: while (!stop) {
x++; …
}
// Axın 2: while (!stop) {
if (x%2 == 0) System.out.println("x=" + x); …
}
Tutaq ki, x = 0. Fərz edək ki, proqramın icrası bu ardıcıllıqla baş verir:
1.Axın 2-də if operatoru x-in cüt olub-olmamasını yoxlayır. 2.Axın 1-də x++ operatoru x-i bir vahid artırır. 3.Axın 2-də çıxış operatoru çıxışa "x=1" verir, baxmayaraq ki, cütlük yoxlamasından keçdiyindən çıxış tək ədəd olmamalı idi. Belə vəziyyətdən çıxmağın ən sadə yolu x dəyişənini başqa bir lokal dəyişənə köçürməkdir. // Axın 2: while (!stop) {
int cached_x = x; if (cached_x%2 == 0) System.out.println("x=" + cached_x); …
}
Ədəbiyyat
- İsmayıl Calallı (Sadıqov), “İnformatika terminlərinin izahlı lüğəti”, 2017, “Bakı” nəşriyyatı, 996 s.
Xarici keçidlər
- Karam, G.M.; Buhr, R.J.A. (August 1990). "Starvation and Critical Race Analyzers for Ada". IEEE Transactions on Software Engineering. 16 (8): 829–843. doi:10.1109/32.57622
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Yaris durumu ing race condition coxaxinli sistem ve ya tetbiqi proqramin duzgun layihelendirilmemesi neticesinde yaranan xetadir Bele ki sistemin yaxud tetbiqi proqramin isi kodun hisselerinin hansi ardicilliqla yerine yetirilmesinden asili olur Meselen Java dilindeki asagidaki kod numunesine baxaq int x Axin 1 while stop x Axin 2 while stop if x 2 0 System out println x x Tutaq ki x 0 Ferz edek ki proqramin icrasi bu ardicilliqla bas verir 1 Axin 2 de if operatoru x in cut olub olmamasini yoxlayir 2 Axin 1 de x operatoru x i bir vahid artirir 3 Axin 2 de cixis operatoru cixisa x 1 verir baxmayaraq ki cutluk yoxlamasindan kecdiyinden cixis tek eded olmamali idi Bele veziyyetden cixmagin en sade yolu x deyisenini basqa bir lokal deyisene kocurmekdir Axin 2 while stop int cached x x if cached x 2 0 System out println x cached x EdebiyyatIsmayil Calalli Sadiqov Informatika terminlerinin izahli lugeti 2017 Baki nesriyyati 996 s Xarici kecidlerKaram G M Buhr R J A August 1990 Starvation and Critical Race Analyzers for Ada IEEE Transactions on Software Engineering 16 8 829 843 doi 10 1109 32 57622