java如何有效的杀死一个线程问题

如题,但是不要跟我说用stop(),或者interruput(),stop()现在已经遗弃了,而且使用时会有不少问题,interruput()我试过,但是不行,不知道各位是怎么杀死一个线程的?
我为什么要杀死线程,我要实现的是每次请求时都会产生一个线程去执行相关代码,有时候上一次的请求产生的线程中还未执行完全就紧接着进行了下一次请求,这个时候,我就要把上一次请求产生的线程终止掉,不过它执行到哪一步了,然后对这次请求另起的新的线程。

public void run() {
while (flag) {

}

}

新线程启动的时候,修改这个flag的值

线程没执行完就杀死它,那还有存在的意义吗?表示不懂,楼主应该是要一个一个线程有序的执行完吧

哥,你知道线程有几种状态吗?

[url]http://www.ticmy.com/?page_id=236[/url]

[url]http://ifeve.com/cancellation/[/url]

JAVA线程的中断策略是你自己定的,JAVA是负责在block method抛出异常。

让他执行完就结束了么,要么弄个开关return

线程只能被终结,不能被杀死。另外,线程的停止官方和所有资料都会建议你采用标志位的方式,让线程的任务终结,而不是强制性的停止它。