Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi e distribuiti
 
[PROGETTO] tutti al mare
Clicca QUI per vedere il messaggio nel forum
sandrino83
qualcuna ha la minima idea di come simulare una coda fifo con i thread????:?:??

Brk
Credo si intenda di fare una notify anzichè un notifyall, in questo modo risvegli solo il primo thread nella coda....

sandrino83
si ma con il notify svegli un thread a caso e non il primo della coda......credo......qualcuno mi corregga se sbaglio........

Brk
Hai ragione...

proviamo a cercare...

sandrino83
spremiamo le miningi.......

foolish
non conosco bene le specifiche, ma l'utilizzo di una lista potrebbe risolvere qualche problema
http://java.sun.com/j2se/1.3/docs/a...stractList.html

a questo punto ogni thread creato si può mettere in coda e venire così posizionato alla fine della lista.

quando un posto si libera ci sarà un notifyall e tutti i thread controlleranno la loro posizione (in lista) , il primo usicrà dalla lista e così via

sandrino83
in giro leggo che la jvm schedula automaticamente secondo l'algoritmo FIFO i thread con ugual priorità.......vedrò di approfondire

sandrino83
quindi dopo il notifyall del thread che libera un posto, ogni thread si posiziona nel posto più vicino all'uscita (del ready queue) e solo quello che si trova in posizione 0 non si autoferma ma prosegue con l'esecuzione.........ho capito bene?

Brk
anche una hashtable potrebbe andare....

Brk
Ho detto una cazzata, meglio questo:

http://www.dia.uniroma3.it/~cabibbo.../ArrayList.html

foolish
ma si possono usare librerie non standard?
cmq ogni lista va bene, i metodi bene o male son sempre quelli ;)

sandrino83
io ho imbastito un sistema senza coda......quindi il notify svegli un solo thread e con i tempi che ci sono nelle specifiche non riesco ad arrivare nemmeno nella situazione di coda......in sostanza se arrivano bagnanti tra 200 e 1000 millisecondi e se ne vanno dopo un periodo tra 500 e 2000 millisecondi non mi si riempiono mai tutti gli ombrelloni......a voi succede così?

Brk
Si riempiono solo moooooooooolto in là, se fai proseguire il programma ad oltranza, prova a metter solo 3 ombrelloni e vedi

sandrino83
ho provato a moltiplicare x 10 i tempi di permanenza sotto l'ombrellone e la coda effettivamente si riempie.......ma con le specifiche non si riempirà mai.......

Brk
Quello si, se allunghi la permanenza è come rimini ^^

Brk
A me + che altro non si ferma mai....

sandrino83
con 10 ombrelloni e i tempi del prof non sarà mai pieno.....e secondo me la coda è autogestita dalla jvm.........

Brk
Io provo a gestirla e vedo... A tesi ferma dopo 18 secondi?

sandrino83
no......a me fa tutto quello che deve fare x 3 minuti senza problemi e stampando varie parti è tutto abbastanza coerente.......

Brk
A me va avanti all'infinito!!!

SpiritKJ
Beati a voi che almeno va.. :\

Sire
Scusate, ma come faccio a bloccare tutto? :?
Grazie.

Brk
Infatti....

sandrino83
dopo 180 secondi finisce il tutto......il metodo run termina le operazioni e il thread muore di conseguenza

sandrino83
correzione del testo del progettino.............I nuovi bagnanti arrivano in un tempo casuale tra 50 e 125 millisecondi.

boban
...qualcuno mi sa dire come faccio a sapere quanto tempo un thread rimane in attesa...esiste un metodo in java per vedere quanto tempo il thread è fermo sul comando wait()???
:help::roargh:

hereIam
uff.. come faccio a far andar via un bagnante che aspetta per più di 5 secondi??
e alo stesso modo come faccio a far fermare tutto dopo 3 minuti?
help me...

Brk
Io ho un dubbio sul FIFO...

Per farlo si può fare, è un pò macchinoso ma vabbè, il problema è che essendo creati in tempi randomici i bagnanti, si rischia di dare un notify ad un bagnante non ancora in wait....

Mi spiego...

Se mettiamo ipoteticamente 100 come tempo fra la creazione fra un bagnante ed un altro e 2000 come tempo di permanenza sotto gli ombrelloni, si sollevano problemi non indifferenti...

Brk
Mi son spiegato male...

Se un bagnate esce dallo sleep a 500 ed il successivo viene creato a 1000... il primo, su cosa fa la notify????

Voodoo
A me crea difficoltà la misurazione dei tempi: la coda la volevo risolvere ispirandomi alle slides di MAggiorini sul distributore di biglietti...il punto è che se faccio una notifyAll() quando viene chiamato un numero e si risveglian tutti per controllare il numero,per tutti i thread per i quali non è il loro turno devo settare nuovamente la sleep con la differenza tra il tempo iniziale in cui è entrato in attesa e il tempo trascorso nella sleep() ed è un po' incasinante questa cosa...

Brk
Ciao,

non per polemica,ma per pura informazione...

Sbaglio o quest'ultimo progetto ha una difficoltà un pelo superiore a molti dei precedenti?

sandrino83
concordo........ma che ci vuoi fare........gambe in spalla e sottocon eclipse

Voodoo
Qualcuno si è chiesto a che lezione mi riferissi riguardo alla gestione delle code FIFO. E' una lezione del 2004 che non so se i prof. hanno riproposto quest'anno. Ecco il file.

sandrino83
grande

Voodoo
Qualcuno posta il suo output? Magari la porzione iniziale e finale,con le medie...a me gli ombrelloni tranne che in un periodo brevissimo poi rimangono quasi sempre occupati o almeno stampa a video che son sempre occupati...poi non so ma la media di attesa mi vien sempre 0 e quella di sosta circa un secondo..

sandrino83
a me gli ombrelloni sono sempre pieni.......anche perchè non appena si libera uno viene subito preso da un'altro e a regime la coda si assesta sulla 50 di bagnanti.........

la cosa che mi lascia perplesso è che il 90% dei threads che arrivano entrano in coda ma nn riescono a entrare nei 5 secondi e quindi vanno via.......boh.......ormai ho sottomesso quindi........

Voodoo
Io non lo consegno neppure,tanto lo so che ci sono varie cose che non funzionano... :evil: comincio ad innervosirmi.. :|
Come al solito invito chi l'ha fatto giusto a postare il suo codice,visto che i prof raramente postano delle soluzioni degli elaborati. Almeno gli studenti avranno più esempi con cui confrontarsi,specialmente uno in cui c'è da gestire una coda ordinata mi manca. Grazie :)

sandrino83
se lo passo lo posto....l.speriamo in bene......

ilcizzy
a ogni porgetto mi ci metto 1 oretta e poi mollo ma giuro che dal prossimo ci sto notte e giorno.
Scusatemi se non centra nulla ma devo convincermi...

arnaldo
qualcuno sa quando è il prossimo progetto?io continuo a guardare ma mi dice che nn c'è mai nessun progetto in ballo...non vorrei che ho il link sbagliato....fatemi sapere....

bobighorus
Il prof ha detto che ad Ottobre ci sarà sicuramente un progettino e forse anche due...

Voodoo
Originally posted by bobighorus
Il prof ha detto che ad Ottobre ci sarà sicuramente un progettino e forse anche due...

Off-Topic:
Sarà il caso che cominci a fare sul serio dei riti voodoo per passarlo :D

walder
qualke buon'anima che ha consegnato il progetto ed è passato potrebbe uploadarlo?

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate