上一篇的试验中,验证了Java中断并重启一个Thread的办法:http://blog.csdn.net/xzongyuan/article/details/39548113
这里简单的总结下(大概思路,没调试,可能会有错!):
MyThread.java
pulbic class MyThread implemets Thread{
@overide
public void run{
while(!Thread.interrputed()){
}
}
}
xxx.java
Thread mThread = new MyThread();
public static void startThread(){
mThread = new MyThread();
mThread.start();
}
public void stopThread(){
if(mThread!=null){
mThread.interrupt();
mThread = null;
}
}
run函数里面必须有判断中断状态的while循环,外部在中断Thread时,必须显示调用interrupt()。注意:interrupte()函数只是设置中断标志,不是强制中断,所以run中才需要不断地检测中断标志(Thread.interrupted()) java中,中断Thread后,就不能直接重新start了,必须new一个新实例,不然会报错。