public synchronized void stop() {
		task = null; // set the flag and while loop in the run() will exit
		i = 0;
		notify(); // try to wake up the thread which associate this object
	}
public synchronized void stop() {
		task = null;
		i = 0;
		notify();
	}
public synchronized void stop() { task = null; i = 0; notify(); }