Semaforas struktūra turinti ją sukuriant nustatytą leidimų skaičių vykdymo gijoms dirbti su saugoma duomenų struktūra ar
Semaforas (lygiagretusis programavimas)

Semaforas – struktūra, turinti ją sukuriant nustatytą leidimų skaičių vykdymo gijoms dirbti su saugoma duomenų struktūra ar vykdyti saugomą kodo sekciją.
Semaforai naudojami, kuomet pageidaujama, jog su tam tikra duomenų struktūra ar kompiuterio įrenginiu nedirbtų daugiau nei nurodytas ribotas skaičius lygiagrečių gijų.
Kiekviena gija, prieš tai darydama, turi gauti iš semaforo leidimą (kviesdama semaforo leidimo pasiėmimo metodą), o baigusi darbą su saugomu objektu – leidimą grąžinti (kviesdama leidimo grąžinimo metodą). Jei semafore daugiau šiuo metu leidimų nebėra (jo likusių leidimų skaitiklis lygus nuliui), leidimo prašanti gija blokuojama kol kokia nors kita gija anksčiau pasiimtą leidimą grąžins.
Jei semaforas turi tik vieną leidimą, jo darbas daug nesiskiria nuo užrakto. Tačiau, skirtingai nuo užraktų, semaforai paprastai leidžia grąžinti leidimą ir ne tai gijai, kuri jį pasiėmė. Tai gali būti reikalinga, pavyzdžiui, išsprendžiant kai kuriuos sinchronizacijos aklavietės atvejus. Tačiau šiai galimybei reikalingi sinchronizavimo veiksmai gali sąlygoti lėtesnį darbą nei naudojant užraktus.
Skirtingai nuo užraktų, semaforai neskirti pakartotinam rakinimui ta pačia gija bei atskiriems rakinimams skaitymui bei rašymui.
Kaip ir užraktas, semaforas gali būti garbingas (angl. fair) arba ne. Garbingas semaforas pirmiausia suteikia leidimą tai gijai, kuri jo laukė ilgiausiai. Garbingo semaforo kodas yra sudėtingesnis ir vykdomas ilgiau, todėl naudoti jį verta ne visada.
Literatūra
- Java dokumentacija apie semaforus, anglų kalba.
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Semaforas (lygiagretusis programavimas), Kas yra Semaforas (lygiagretusis programavimas)? Ką reiškia Semaforas (lygiagretusis programavimas)?
Semaforas struktura turinti ja sukuriant nustatyta leidimu skaiciu vykdymo gijoms dirbti su saugoma duomenu struktura ar vykdyti saugoma kodo sekcija Semaforai naudojami kuomet pageidaujama jog su tam tikra duomenu struktura ar kompiuterio įrenginiu nedirbtu daugiau nei nurodytas ribotas skaicius lygiagreciu giju Kiekviena gija pries tai darydama turi gauti is semaforo leidima kviesdama semaforo leidimo pasiemimo metoda o baigusi darba su saugomu objektu leidima grazinti kviesdama leidimo grazinimo metoda Jei semafore daugiau siuo metu leidimu nebera jo likusiu leidimu skaitiklis lygus nuliui leidimo prasanti gija blokuojama kol kokia nors kita gija anksciau pasiimta leidima grazins Jei semaforas turi tik viena leidima jo darbas daug nesiskiria nuo uzrakto Taciau skirtingai nuo uzraktu semaforai paprastai leidzia grazinti leidima ir ne tai gijai kuri jį pasieme Tai gali buti reikalinga pavyzdziui issprendziant kai kuriuos sinchronizacijos aklavietes atvejus Taciau siai galimybei reikalingi sinchronizavimo veiksmai gali salygoti letesnį darba nei naudojant uzraktus Skirtingai nuo uzraktu semaforai neskirti pakartotinam rakinimui ta pacia gija bei atskiriems rakinimams skaitymui bei rasymui Kaip ir uzraktas semaforas gali buti garbingas angl fair arba ne Garbingas semaforas pirmiausia suteikia leidima tai gijai kuri jo lauke ilgiausiai Garbingo semaforo kodas yra sudetingesnis ir vykdomas ilgiau todel naudoti jį verta ne visada LiteraturaJava dokumentacija apie semaforus anglu kalba