关闭线程 分2中情况
1.线程内的代码执行完毕自动关闭
boolean isruning=true;
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (isruning) {
try {
for (int i = 1; i <= 5; i++) {
Thread.sleep(1000);
@Override
public void run() {
while (isruning) {
try {
for (int i = 1; i <= 5; i++) {
Thread.sleep(1000);
}
isruning=false;
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
thread.start();
isruning=false;
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
thread.start();
给线程一个判断 while(running)当线程里的内容执行完毕将runing设置为false;线程将不再执行循环体里的内容
2.当你想线程中的代码执行到一半时 ,关闭线程
boolean isruning=true;
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (isruning) {
try {
for (int i = 1; i <= 5; i++) {
Thread.sleep(1000);
}
isruning = false;
} catch (InterruptedException e) {
e.printStackTrace();
break;// 捕获到异常之后,执行break跳出循环。
}
}
}
});
thread.start();
@Override
public void run() {
while (isruning) {
try {
for (int i = 1; i <= 5; i++) {
Thread.sleep(1000);
}
isruning = false;
} catch (InterruptedException e) {
e.printStackTrace();
break;// 捕获到异常之后,执行break跳出循环。
}
}
}
});
thread.start();
将thread.interrupt();这行代码放入你想打断线程的位置,