PDA

View Full Version : [Java]Piccolo problema coi thread


MEMon
22-08-2006, 11:07
Ho una laborazione che occupa molta cpu deve essere svolta nel più breve tempo possibile, si tratta di un ciclo che riempe una matrice enorme circa 20 milioni di dati.
Questo quindi sarebbe meglio che impiegasse quasi tutta la cpu per riempirla.
Il problema è che vorrei che nel frattempo la mia GUI cambiasse, non so qualche musica e qualche immagine, solo che nonstante io abbia infilato l'elaborazione in un thread a parte, il resto delle cose vengono svolte moooooooooolto lentamente, ho anche inserito un Thread.yield() sperando servisse ma nulla...

Mi spiego un attimo meglio, questa elaborazione si tratta del caricamento di un livello di gioco, e intanto che carica non vorrei avere tutto bloccato, ma qualche immagine o anche lo stato di avanzamento del caricamento...

Ora l'unico metodo buono è stato settare a MIN_PRIORITY il thread che carica il livello, solo che ci mette più tempo a caricarlo.

cisc
22-08-2006, 11:41
hai provato con una Thread.sleep ?

MEMon
22-08-2006, 12:54
se metto uno sleep anche di 1ms mi ci vogliono 20 minuti per per riempire la matrice :D

cisc
22-08-2006, 15:30
beh, la sleep non la devi fare necessariamente ad ogni operazione sulla matricie.....

dierre
22-08-2006, 15:44
tanto sai più o meno lo sai quanto ci mette a caricare il tutto, fermi un attimo per passare di immagine e poi torni a caricare, tipo una volta ogni x minuti. (come le classiche installazioni dei giochi di una volta)

ally
22-08-2006, 18:57
...seguendo l'esempio di dierre un ticker dovrebe fare al caso tuo...

...ciao...

pisto
22-08-2006, 21:04
e cambiare la priorità dei threads?