Lygiagretusis programavimas: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Knutux (aptarimas | indėlis)
Nėra keitimo santraukos
Eilutė 4:
Lygiagrečiojo programavimo taikymas prasmingas tik tada, jei darbai gali būti padalinami ir vykdomi vienu metu, jei darbai priklauso vienas nuo kito (turi būti vykdomi iš eilės), lygiagretusis programavimas nėra efektyvus.
 
Labai;Lygiagrečiojo svarbiosprogramavimo lygiagrečiajampagarindinės programavimui svarbiproblemos: sinchronizacija - užtikrinimas, kad darbai netrukdytų vienas kitam, o taip pat ;
:apsikeitimas informacija tar lygiagrečių procesų.
 
==Kritinės sekcijos==
Informacijos apsikeitimui naudojamos kritinės sekcijos - apsaugotos kodo atkarpos, į kurias vienu metu gali patekti tik vienas vykdytojas (gija arba procesas). Kiti procesai, norintys atlikti šiuos veiksmus yra pristabdomi. Baigus darbą kritinėje sekcijoje vienas iš pristabdytų procesų yra pažadinamas ir tęsiątęsia darbą kritinėje sekcijoje. Šioje vietoje veiksmus gali atlikti tik vienas procesas vienu metu, o kiti procesai laukia ir tokiu būdu lėtina programos veikimą.
 
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.
eilutė 66 ⟶ 67:
...
 
Šiuo atveju monitorius apsaugo duomenis, kuriekad galijie būtinebūti keičiamoskeičiami kelių gijų vienu metu, taigi rezultatai tampa nuspėjami. Nesunkiai galime apskaičiuoti, kiek kartų kiekvieną kartą bus kviečiami metodai (naudojant monitorių ir nenaudojant). Tačiau, kaip minėta, kritinių sekcijų apsauga yra labai brangi laiko atžvilgiu. Įprastame [[asmeninis kompiuteris|asmeniniame kompiuteryje]] su [[Windows XP]] operacine sistema ir Sun kompanijos JRE 1.5 antrasis pavyzdys su monitoriais veikė 3 kartus lėčiau nei pirmasis be monitorių, tačiau priklausomai nuo JVM (Java kalbos Virtualios Mašinos) realizacijos ir [[operacinė sistema|operacinės sistemos]] teikiamų galimybių rezultatai gali skirtis.
 
[[Category:Informatika]]