Stopping a Thread: set a variable that the thread checks occasionally
public class Main { public static void main(String[] argv) throws Exception { MyThread thread = new MyThread(); thread.start(); thread.stop = true; } } class MyThread extends Thread { boolean stop = false; public void run() { while (true) { if (stop) { return; } } } }