// try to wake up the thread which associate this object
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
	}
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; // 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; // set the flag and while loop in the run() will exit
i = 0;
notify(); // try to wake up the thread which associate this object
}