读书人

JAVA线程小疑点求救 希望大家帮忙~多

发布时间: 2012-02-21 16:26:23 作者: rapoo

JAVA线程小问题求救 希望大家帮忙~~谢谢哈
就是线程不可以正常 中断线程 因为我是超级菜鸟级新手 所以写出的代码 都很混乱 希望您们 如果可以
帮我看看 是什么问题 导致不能中断线程 谢谢了呵~~有机会请大家吃KFC 哈哈~~~

class MyThread implements Runnable{
private Thread mt=null; //定义Thread对象
public Thread get(MyThread tm){//构造方法 实例化 mt并 返回Thread实例
mt=new Thread(tm);
return mt;
}
public void run(){//复写run方法
int i=0;
while(++i>0){//无限循环
synchronized(this){ //个人认为 是和中断mt.interrupt();同步
try{//异常处理
//Thread.sleep(1000); 假如不注释这条语句 则可正常 中断
System.out.println("~~~~~~~~~~~~~~~~~");  //输出~~~~~
if(i>5){mt.interrupt();} //判断是否达到中断条件 是则中断线程
}catch(Exception e){ //铺获异常
System.out.println(e);   //输出异常
return ; //返回 
}
}
}
}
}

public class ProcessDemo01{

public static void main(String args[]){

MyThread mt= new MyThread();//实例化对象
Thread tm=mt.get(mt);//通过构造方法实例化Thread 对象

tm.start();//运行线程

}
}

[解决办法]
interrupt不是这样用的。

读书人网 >Java面试

热点推荐