Salve
vi spiego il mio problema, innanzitutto ecco il codice del metodo run

codice:
public void run() {
        while (true) {
            synchronized (this) {
                try {
                    wait();
                } catch (InterruptedException ex) {
                    Logger.getLogger(MioThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            faiQuesto();
        }
    }
il thread viene risvegliato da un'altra classe che gli passa informazioni sulle cose da fare all'interno del metodo "faiQuesto()"
adesso mi capita che quando la classe che invoca questo thread finisce mi lancia un eccezione giustamente perchè il thread è ancora attivo, ed è in wait
come devo fare per farlo terminare correttamente?
grazie