日期:2014-05-20  浏览次数:20838 次

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不是这样用的。