«« ( Date ) »» // «« ( Thread ) »» // drs - 2006

Re: pitanje, zad. 58

by Nikola Mihajlović
petak, 27. januar 2006 - 23:04.

Na brzinu sam pogledao i reader i writer će da se zaglave odmah na početku čekajući na "mozete_citati". Treba da ga out-uješ u inicijalizaciji mada će i dalje da bude loše. Konkurentno programiranje je jako osetljivo i najbolje je da ne izmišljaš neke svoje tehnike za rešavanje problema nego koristi proverene. Za semafore to je passing the baton, u lindi semafori mogu da se simuliraju tako da...

andrejad <andrejad@sezampro.yu> wrote:
ne znam da li je ova lista namenjena samo obavestenjima ili se mogu
postavljati i neka pitanja u vezi predmeta.
ali, za svaki slucaj da pitam:

da li je ovo korektno resenje zadatka 58 (readers/writers problem u
linda-i), i ako nije zasto nije?

------------------------

rd() {
int i;
int rdn;
while(1) {
in("red", ?i);
out("red", ++i);
rd("mozete_citati");
in("rd_num", ?rdn);
out("rd_num", ++rdn);
citanje();
in("rd_num", ?rdn);
out("rd_num", ++rdn);
}
}

wr() {
int i;
while(1) {
in("red", ?i);
out("red", ++i);
in("mozete_citati");
in("rd_num", 0); // ceka da bude 0?
pisanje();
out("mozete_citati");
}
}

initialize() {
int i;
out("red", 0);
out("rd_num", 0);
for(i=0; i<MAX; i++) {
eval(rd());
eval(wr());
}
}



-----------------------------------------------------------------
unsubscribe:
minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20drs
-----------------------------------------------------------------