Lygiagretusis programavimas: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Monro (aptarimas | indėlis)
Monro (aptarimas | indėlis)
Eilutė 14:
 
==Kritinių sekcijų pavyzdžiai==
Paateikiami keli pavyzdžiai [[Java (kalba)|Java kalba]]. Pirmame pavyzdyje kritinėkritinės sekcijasekcijos apsauga nenaudojama (rezultatas - nenuspėjamas):
 
package testas;
Eilutė 58:
}
 
Šiek tiek pakoregavus, gaunamas kodas, kuriame naudojamosnaudojama kritinės sekcijos apsauga:
 
...
Eilutė 66:
...
 
Šiuo atveju kritinė sekcijamonitorius apsaugo vietasduomenis, kurioskurie gali būti keičiamos kelių gijų vienu metu, taigi rezultatai tampa nuspėjamaisnuspėjami. Nesunkiai galime apskaičiuoti, kiek kartų kiekvieną kartą bus kviečiami metodai (naudojant monitorių ir nenaudojant). Mano kompiuteryje nenaudojant monitorių per sekundę bendri duomenys buvo keičiami apie 6 milijonus kartų, o naudojant - tik 2, taigi darbas sulėtėjo tris kartus.
 
[[Category:Informatika]]