Lygiagretusis programavimas: Skirtumas tarp puslapio versijų
Ištrintas turinys Pridėtas turinys
Nėra keitimo santraukos |
|||
Eilutė 11:
Neatsargiai naudojamos kritinės sekcijos gali sulėtinti sistemos darbą. Pagreitinti programą galima atsisakius perteklinių kritinių sekcijų, jas supaprastinus iki minimumo, kad joje procesas užtruktų tik tiek, kiek reikia informacijos apsikeitimui ir apsaugojimui.
Kritinių sekcijų apsaugai yra sukurta daug priemonių. Bene pirmoji sukurta - [[semaforas
==Kritinių sekcijų pavyzdžiai==
Paateikiami keli pavyzdžiai [[Java (kalba)|Java kalba]]. Pirmame pavyzdyje kritinė sekcija nenaudojama (rezultatas - nenuspėjamas):
package testas;
eilutė 37 ⟶ 36:
}
}
class Gija2 extends Thread {
private long pradzia;
Eilutė 48:
}
}
public class Testas {
public static void main(String[] args) {
eilutė 57 ⟶ 58:
}
Šiek tiek pakoregavus, gaunamas kodas, kuriame naudojamos kritinės sekcijos:
...
eilutė 67 ⟶ 66:
...
Šiuo atveju kritinė sekcija apsaugo vietas, kurios gali būti keičiamos kelių gijų vienu metu, taigi rezultatai tampa nuspėjamais.
[[Category:Informatika]]
|