Strumenti Utente

Strumenti Sito


lpr-b:lpr-b-09:faq

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
lpr-b:lpr-b-09:faq [20/10/2009 alle 15:01 (16 anni fa)] Andrea Corradinilpr-b:lpr-b-09:faq [20/10/2009 alle 15:23 (16 anni fa)] (versione attuale) Andrea Corradini
Linea 208: Linea 208:
 ===== Eccezioni lanciate da call() ===== ===== Eccezioni lanciate da call() =====
  
-A differenza dle metodo ''run()'' di ''Runnable'', il metodo ''call()'' di ''Callable'' può+** Come si può gestire l'eventuale eccezione lanciata dal metodo ''call()''? ** 
 + 
 +A differenza del metodo ''run()'' di ''Runnable'', il metodo ''call()'' di ''Callable'' può
 lanciare una qualunque eccezione, anche controllata. L'eccezione eventualmente lanciata viene lanciare una qualunque eccezione, anche controllata. L'eccezione eventualmente lanciata viene
 incapsulata in una eccezione di tipo ''ExecutionException'' che viene lanciata quando si  incapsulata in una eccezione di tipo ''ExecutionException'' che viene lanciata quando si 
 esegue il metodo ''get()'' del ''FutureTask'' per ottenere il risultato di ''call()''. esegue il metodo ''get()'' del ''FutureTask'' per ottenere il risultato di ''call()''.
 L'eccezione originale può essere ottenuta invocando il metodo ''getCause()'' sulla L'eccezione originale può essere ottenuta invocando il metodo ''getCause()'' sulla
-''ExecutionException'' restituita da ''get()''.+''ExecutionException'' lanciata da ''get()''
 + 
 +===== Quando termina una ''call()''... ===== 
 + 
 +** Come si può essere avvisati quando termina una ''call()'' senza fare una ''get()'' bloccante? ** 
 + 
 +Come descritto nella API di ''FutureTask'', quando un ''FutureTask'' passa nello stato ''isDone'' perchè 
 +la ''call()'' termina l'esecuzione, viene eseguito il metodo (protected, void) ''done()'', che  
 +non fa niente. Questo metodo può essere sovrascritto in una sottoclasse in modo da notificare  
 +la terminazione a un altro thread in attesa dl risultato.
  
  
lpr-b/lpr-b-09/faq.1256050879.txt.gz · Ultima modifica: 20/10/2009 alle 15:01 (16 anni fa) da Andrea Corradini

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki