首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Java终止线程有关问题

2012-03-02 
Java终止线程问题在主线程中启动了一个子线程先已知子线程被阻塞,是因为url连接建立,阻塞在读取数据方面,

Java终止线程问题
在主线程中启动了一个子线程

先已知子线程被阻塞,是因为url连接建立,阻塞在读取数据方面,因此通过标识符判断使子线程自动结束的方法无法使用了

先就请教,如何在主线程中直接kill掉这个子线程了

使用了
t.stop()//t为子线程引用
或者
try   {
t.sleep(300);
}   catch   (InterruptedException   x)   {
t.interrupt();//中断线程
}
2个方法均无法直接kill掉线程t,因为在执行方法之前之后,执行t.isAlive()均为true

不知道现在有没有其他别的方法能够使用了


[解决办法]
在读数据的那个线程方法中加个判断,如果标志为真,则 sleep(). or interrupt()
[解决办法]
URLConnection.setReadTimeout
[解决办法]
一个线程的run()方法结束,它的生命也走到了终点。
要在主进程中,控制线程的存活,控制run()方法便可,常用的方式是:
public void run() {
while(flag) {
....
}
}

控制flag(boolean)的值,便可以控制这个线程的存活。

热点排行