View Single Post
Old 21-12-2010, 15:28   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da clockover Guarda i messaggi
Cosa mi sfugge da questa situazione?
La chiamata a Future.cancel(true) non termina veramente l'esecuzione del thread, semplicemente segnala al thread in questione di terminare il prima possibile (il fatto di passare true come parametro indica al Future che deve settare a true il flag per l'interrupt del thread, ma pure questo non causa una terminazione immediata del thread).

Bisogna quindi che il thread, nel suo flusso di esecuzione, dia supporto alle eventuali richieste di interrupt/cancellazione che gli arrivano.
Ci sono vari modi per farlo.

A questa vecchia discussione nei miei messaggi (dal #16 in poi) trovi delle info in merito (roba che trovi tranquillamente nella documentazione/tutorial della Sun[ops... Oracle]), non so quale sia il tuo livello di competenze quindi scusa in anticipo se ti indico un thread che contiene roba che già conosci.

Comunque il succo è: controlla cosa fa il tuo thread, e vedi se supporta "correttamente" le richieste di interruzione.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 21-12-2010 alle 15:30.
banryu79 è offline   Rispondi citando il messaggio o parte di esso