Android中端并重启一个Thread线程的办法

时间:2023-01-03 17:31:19

上一篇的试验中,验证了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一个新实例,不然会报错。