最近学习汪文君的多线程时,看到一个强制停止线程的课程,觉得很有用就将其改良一下,便于以后备用
1.定义一个线程服务:
/**
* @Author: MR LIS
* @Description: 替代Thread.stop()方法的实现,通过main方法传入的task(实际任务),将其设置为守护线程
* @Date: 14:36 2018/4/19
* @return
*/
public class ThreadService {
private Thread executeThread;
private boolean finished = false;
public void execute(Runnable task) {
executeThread = new Thread() {
@Override
public void run() {
Thread runner = new Thread(task);
runner.setDaemon(true);
runner.start();
try {
runner.join();//runner线程join住的是执行线程
finished = true;
} catch (InterruptedException e) {
// e.printStackTrace();
System.out.println("runner线程被打断");
}