Il modo migliore è una variabile booleana nel while. Non so che sia l'oggetto gd... Comunque la variabile generalmente è nella classe ove si trova il run() non in un altra classe.
Ad esempio, se viene premuto un bottone che faccia fermare una data operazione, come un download ad esempio, tu chiamerai un metodo di questa classe, ad esempio chiamato stopThread() e setti quella variabile a false.codice:public void run() { while(flag) { // Codice del thread } }