Oppure

Loading
09/07/08 19:16
robyp7
Ciao

Ho un programma che utilizza la future callable di java1.5. Il compito della call è di elaborare dei file java, senza entrare nel merito lo scopo della future è di elaborare le informazioni prima che le stesse vengano utilizzate, ma nel caso che all'utilizzo delle stesse non siano pronte il metodo get invocato su un oggetto future (che in sè è un thread) dovrebbe essere bloccante e quindi bloccare il programma per sbloccarsi a risultato ottenuto a questo punto non capisco perchè nel programma si attenta che tutte le future finiscano cioè i sudetti metodi executor.shutdown ();
executor.awaitTermination

siano invocati prima della fget(vedi il pezzettino di codice qua sotto. vi alleggo in formato zip il programma per intero) quando cè la fget che cmq si blocherebbe??? Forse l'esempio è buona ma non incalzante per la future?? Sarebbe meglio fare in modo che mentre si legga i jar un altro thread faccia qualcosaltro di diverso?? (tipo un browser che in parallelo scarica delle immagini(elaborazione onerosa fatta tramite future) e nel frattempo prima della get sulle immagini invoca il thread per il rendering di file di testo)

GRAZIE!

//---- attendo la fine della elaborazione ----
executor.shutdown ();
executor.awaitTermination (Long.MAX_VALUE, TimeUnit.SECONDS);

//---- prelevo i risultati di ogni task ----
for (Future<JarAnalyzerResult> f : futures)
{
JarAnalyzerResult result = f.get ();
aaa