关于线程监测的问题,高手请看,最好给出例子 interrupt()可以终止线程吗??!!!同感中!!希望大家给点建议??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据我的经验认为,你的监视线程并未起作用!interrupt()并不会使线程停止!如要简单当然可以用Stop(),但这是不安全的,会导致同步资料不释放!一般在while循环中用(!Interrupted())为条件,另要加入一个变量,如boolean 变量作为条件!一般还是捕获interrupt()产生的IOException异常!例:boolean isStop=false ;//定义为类元素while(!Interrupted() && !isStop){try{//to do something}catch(IOException e){break; //退出循环}}要终止线程只要使isStop为真或调用interrrup()方法就可以了!你这里要用interrupt(),因为你是要中断正在进行中的任务!若不要中断正在进行中的任务就使isStop为“真”会更安全!第二个线程(监视线程)不用interrupt()真接用break中断循环就可以了! 有点错误!准确的说是InterrruptedException,因为我正在做一个程序,就直接copy 过来了,正确的应是这样!boolean isStop=false ;//定义为类元素while(!Interrupted() && !isStop){//to do somethingtry{sleep(50);}catch(InterruptedException e){break;} 对于while(!Interrupted() && !isStop){//to do somethingtry{sleep(50);}catch(InterruptedException e){break;}而言,如果 不是sleep(50),, 而是一个IO操作,例如, in.read(),则有可能出现阻塞的问题。采用 Interrupte()好象只能等到 in.read()返回后才能中断线程。 应该说最好在线程中加入Sleep()或者Wait()之类的语句。给其他线程执行的机会至于Interrupt()他不会立刻终止线程,必须等到线程运行某个操作结束。最好是调用Wait(). 所以说,遇到阻塞模式的IO访问很就麻烦了。好在JDK1.4已经支持了 非阻塞模式的I0访问方式。 JDK装了1.6.显示1.3的怪事 一段C代码转成JAVA,难住了很多高手,求解啊! JNI 调用 C的DLL文件,有关C 的int类型转换为java的类型 hibernate 中session(类名.Class,new Integer(1)) 有那位大哥帮一下MM呀!急救!MM在这里跪谢啦! 一个关于包的问题 请教java的学习方向问题~谢谢高手指点~ 单词查找算法?急!!! java 图片打印 JBuilder代码编辑窗口中光标位置怎么有时不对 如何编写JAVA程序来读取和存储微软的Project的.CPP文件 多个JList判断的问题
例:
boolean isStop=false ;//定义为类元素while(!Interrupted() && !isStop){
try{
//to do something
}catch(IOException e){
break; //退出循环
}
}
要终止线程只要使isStop为真或调用interrrup()方法就可以了!
你这里要用interrupt(),因为你是要中断正在进行中的任务!
若不要中断正在进行中的任务就使isStop为“真”会更安全!
第二个线程(监视线程)不用interrupt()真接用break中断循环就可以了!
boolean isStop=false ;//定义为类元素while(!Interrupted() && !isStop){
//to do something
try{
sleep(50);
}catch(InterruptedException e){
break;
}
while(!Interrupted() && !isStop){
//to do something
try{
sleep(50);
}catch(InterruptedException e){
break;
}
而言,如果 不是sleep(50),, 而是一个IO操作,例如, in.read(),则有可能出现阻塞的问题。
采用 Interrupte()好象只能等到 in.read()返回后才能中断线程。
好在JDK1.4已经支持了 非阻塞模式的I0访问方式。