去年写的,前几天到处找都没有找到。现在做个记录:
/**
* @author shouyong
* @version 1.0 at 2014-2-25
*
*/
public class AppThread extends Thread {
private boolean isWait = true;
private int sleepTime = 500;
/**
* 入口
*/
public void todo(Object param) {
// do something
//...
doResume();
}
private void do() {
// do something
}
/*
* (non-Javadoc)
*
* @see java.lang.Thread#run()
*/
@Override
public void run() {
while (true) {
if (isWait) {
try {
wait();
} catch (InterruptedException e) {
// do something
}
}
do();
try {
sleep(sleepTime);
} catch (InterruptedException e) {
// do something
}
/**
* 暂停。
*/
doSuspend();
}
}
/**
* 暂停。
*/
private synchronized void doSuspend() {
isWait = true;
}
/**
* 恢复
*/
private synchronized void doResume() {
isWait = false;
notify();
}
}