上古卷轴5mod随从解散:在java中如何中止一个线程?
来源:百度文库 编辑:中科新闻网 时间:2024/10/03 15:51:41
java中怎么停掉一个线程
就是突然让它停下来,直接退出
里面有一个方法是interrupt(),但不管用,我执行了这个方法之后这个线程还是执行 !有谁能告诉我
就是突然让它停下来,直接退出
里面有一个方法是interrupt(),但不管用,我执行了这个方法之后这个线程还是执行 !有谁能告诉我
你那个线程是否在睡觉呢?(调用了sleep())
等它醒来要让它检查一下是否被人给interupt了
调用isInterupted()就行了,这样才能将它停掉
你也可以在一个方法内部将它停掉:
class Cat{
synchronized syn_method(){
//do something;
this.wait();
}
.....
public void run(){
a_cat.syn_method();
}
然后再用a_cat的另一个引用:
a_cat.notifyAll();将它唤醒
或者不唤醒,让它停掉
或者这样:
boolean toStop=false;
....
public void run(){
while(!toStop){
//do something
}
}
....
toStop=true;就将它停了;
start()方法启动线程,
stop()方法退出线程。
sleep(long mille)睡眠线程一定微妙.
有两类方法
一是通过Thread类的stop()方法,使用此类方法一般要在它的父线程中保存线程对象变量
二是从线程函数中(使用return)主动退出,这种方法可以通过公共变量等方式实现线程间通讯已决定何时退出
Thread.stop()