java多线程关闭问题? Java多线程如何在程序安全的情况下关闭? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是读取一个文件的内容到另一个日志文件里面的,现在总是在stop以后日志文件里面保存的内容不完全. 想安全停止不推荐调用stop()和interrupt()使用楼上的 while(flag){ ..... if(条件)flag =false; }这样的方法结束线程就好了 Thread.stop、Thread.suspend 和 Thread.resume 等方法即为不安全推出线程的方法,一般是不推荐使用的。可以用定义Boolean参数的方法,然后控制循环的办法:import java.util.*;public class TestInterrupt { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); try {Thread.sleep(10000);} catch (InterruptedException e) {} thread.flag=false; }}class MyThread extends Thread { boolean flag = true; public void run(){ while(flag){ System.out.println("==="+new Date()+"==="); try { sleep(1000); } catch (InterruptedException e) { return; } } }}其实还可以更加完善,即:专门定义一个flag的参数类,然后用tread.className调用之,更加完善 如何用Java关闭一个进程 Jlable输出循环的值 applet怎么这么闪啊 请问java.sql.Statement的addBatch能用来create存储过程吗? 随机产生一组数组,然后用选择法排序 请教一个jdbc:odbc打包的问题??? 日历算法问题 请教几个问题! 方法覆盖和重载 如何限定键盘输入 JAVA如何查询进程存在 新手
使用楼上的
while(flag){
.....
if(条件)flag =false;
}这样的方法结束线程就好了
可以用定义Boolean参数的方法,然后控制循环的办法:
import java.util.*;
public class TestInterrupt {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
try {Thread.sleep(10000);}
catch (InterruptedException e) {}
thread.flag=false;
}
}class MyThread extends Thread {
boolean flag = true;
public void run(){
while(flag){
System.out.println("==="+new Date()+"===");
try {
sleep(1000);
} catch (InterruptedException e) {
return;
}
}
}
}其实还可以更加完善,即:专门定义一个flag的参数类,然后用tread.className调用之,更加完善