package com.aflfte.state;
/**
* 终止线程的两种方式
* 1.线程正常执行完毕
* 2.外部干涉:加入标识判断终止
*
* 不要使用Stop destroy
* @author root
*
*/
public class TerminateThread implements Runnable {
//1.加入标识,标记线程体是否可以运行
private boolean flag=true;
private String name;
public TerminateThread(String name) {
super();
this.name = name;
}
@Override
public void run() {
//2.关联标识为true->运行;false->终止
int i=0;
while(flag) {
System.out.println(name+"-->"+i);
i++;
}
}
//3.对外提供方法改变标识
public void terminate() {
this.flag=false;
}
public static void main(String[] args) {
TerminateThread tt=new TerminateThread("张三");
new Thread(tt).start();
for(int i=0;i<100;i++) {
if(i==88) {
tt.terminate();//线程的终止操作
System.out.println("tt game over!");
}
System.out.println("main-->"+i);
}
}
}
« 线程阻塞(sleep的使用)
|
lambda表达式用法»
|