终止线程主要有两种方式:
1、自然终止:线程正常运行任务完毕。
2、外部干涉终止方法:
1)在线程类中定义一个线程体的使用标识。
2)在线程体中使用该标识。
3)提供对外的方法可以该表该标识。
4)外部根据条件调用3)中方法即可终止线程。
public class StopDemo01 {
public static void main(String[] args) {
Study s = new Study();
new Thread(s).start();
for(int i=0;i<50;++i) {
if(5==i) { //外部干涉
s.stop();
}
System.out.println("Main...--->"+i);
}
}
}
class Study implements Runnable{
//1、线程类内定义线程体使用标识
private boolean flag = true;
@Override
public void run() {
//2、线程体中使用该标识
while(flag) {
System.out.println("Study Thread...");
}
}
//3、提供对外的方法改变该标识
public void stop() {
this.flag = false;
}
}