用线程实现,这是需要结束的线程
package info.bioz.samples;
/**
* <p>File: TargetThread.java</p>
* <p>Description: </p>
* <p><a href="http://www.bioz.info/">BIOZ.info</a> Copyright (c) 2004</p>
*
* @author <a href="mailto:[email protected]">Chance</a>
*/
public class TargetThread extends Thread{
boolean goToDie;
public TargetThread(String threadName){
super(threadName);
}
public synchronized void run(){
int i=9;
while(!goToDie){
System.out.println(getName()+">>dying>>"+i);
//do something here
i--;
if(i<0) { //如果条件合适,则设置标记为true,导致循环结束
goToDie=true;
}
}
}
}
package info.bioz.samples;
/**
* <p>File: TargetThread.java</p>
* <p>Description: </p>
* <p><a href="http://www.bioz.info/">BIOZ.info</a> Copyright (c) 2004</p>
*
* @author <a href="mailto:[email protected]">Chance</a>
*/
public class TargetThread extends Thread{
boolean goToDie;
public TargetThread(String threadName){
super(threadName);
}
public synchronized void run(){
int i=9;
while(!goToDie){
System.out.println(getName()+">>dying>>"+i);
//do something here
i--;
if(i<0) { //如果条件合适,则设置标记为true,导致循环结束
goToDie=true;
}
}
}
}
解决方案 »
- TreeMap 索引
- java 中 一对花括号包含某些代码,什么意思。
- 学基础,写了个聊天室,基于多线程的,新手共勉之
- 刚学的小菜 哥哥姐姐们帮我看一下这个
- java的一段代码,老是出错,哪位大佬帮忙看看,谢谢了
- 如何在jsp中上传图片时压缩图片,
- 定义的JLabel显示不出来?
- 有没有可能在一个方法执行的时候动态的知道这个方法属于哪个包那个类的什么方法名?
- 怎样才能跟上JAVA的神速发展?
- 对于AtomicInteger的测试,感觉有问题,初学者求助。
- 为什么非要使用接口呢 ( 以 Bruce Eckel 著的 Think in Java II 的一个例子探讨一下 )
- 为什么使用GridLayout时设置不了每个单元的大小阿?
package info.bioz.samples;
/**
* <p>File: Killer.java</p>
* <p>Description: </p>
* <p><a href="http://www.bioz.info/">BIOZ.info</a> Copyright (c) 2004</p>
*
* @author <a href="mailto:[email protected]">Chance</a>
*/
public class Killer {
public static void main(String[] args) {
int i=0;
Thread t=new TargetThread("T"+i);
t.start();
while(t.isAlive()){
try {
t.join(); //等待t结束
} catch (InterruptedException e) {
e.printStackTrace();
}
i++;
t=new TargetThread("T"+i);
t.start();
}
}
}
如何运行java 2.class,关闭掉窗口1,而2.class的运行窗口还继续存在;
想讨论的是java程序的结束;
你的方法是关于线程的结束,也很重要。线程类的结束也有很多种方式,但如何做到实时,或尽量少时间呢?
而你java2要想关掉java1,如果不考虑测试条件的话,至少也要检测到java1的线程
可以考虑System.getSecurityManager().getThreadGroup(),
不过不能保证能取得java1的控制权
import java.io.*;public class RunText
{
public static void main(String[]args)
{
if(args.length == 0)
{
System.out.println("请输入正确的文本文件路径!");
return;
}
String path = args[0];
try
{
Runtime.getRuntime().exec("cmd /c start dir");
}
catch(IOException e)
{
e.printStackTrace();
}
}
}