[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.... |
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. |
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. |
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? |
|
|
|