Non esiste un modo sicuro per interrompere l'esecuzione di un thread, a meno che non sia cooperativo; per esempio. controlla regolarmente la flag "interrotta".
@BobbyShaftoe suggerisce questo in un commento:
Si potrebbe eseguire questa funzione in un thread separato e quindi interrompere il filo dopo un certo periodo di tempo.
Questo è un consiglio ingannevole e pericoloso. L'unico modo per "interrompere" un thread è utilizzare il deprecato metodo Thread.stop()
. Se osservate lo javadoc per quel metodo, vedrete che si tratta di un metodo fondamentalmente pericoloso che potrebbe avere effetti collaterali indesiderabili e imprevedibili.
Va anche notato che la soluzione di @ tonio non interrompe l'esecuzione della funzione. Si ferma semplicemente in attesa del termine dell'esecuzione della funzione. La funzione potrebbe continuare a essere eseguita indefinitamente, masticando le risorse senza alcun effetto positivo.
fonte
2010-07-06 06:18:57
È possibile eseguire questa funzione in un thread separato e quindi interrompere il thread dopo un certo periodo di tempo. – BobbyShaftoe
scusa non ho usato thread in programma, qualsiasi altro possibile è lì? –