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();//运行线程
}
}
帮我看看 是什么问题 导致不能中断线程 谢谢了呵~~有机会请大家吃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();//运行线程
}
}
...全文
相关推荐
java中终止一个线程的方法总结(精)
不客气地说,至少有一半人认为,线程的“中断”就是让线程停止。如果你也这么认为,那你对多线程编程还没有入门。 在java中,线程的中断(interrupt)只是改变了线程的中断状态,至于这个中断状态改变后带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段。不但不是让线程停止运行,反而是继续执行线程的手段。
如何解决线程太多导致java socket连接池出现的问题
主要介绍了如何解决线程太多导致socket连接池出现的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在Java中创建线程有两种方法
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
java线程池实例
java线程池实例java线程池实例E:\Users\Administrator\workspace
新希望六和 面试题 高级JAVA开发工程师
新希望六和 面试题 信息部规划与研发上机试题-高级JAVA开发工程师


非技术区
