3个回答
展开全部
public class Pro1 extends Thread{
public static void main(String[] args)throws Exception{
new Pro1().start();
new Pro2().run();
System.exit(0);
}
public void run(){
for(int i=0;i<20;i++){
if(i>=10){
System.out.println("我是程序一,我再执行"+(20-i)+"次关闭");
}else{
System.out.println("我是程序一,我已经启动,什么时候看不到我了就证明我进入关闭倒计时了");
}
}
}
}
------------------------------------------------
public class Pro2 extends Thread{
public void run(){
while(true){
System.out.println("我是程序二,我已经启动并会一直执行下去,每隔一秒打印一次");
try{
Thread.sleep(1000);
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
public static void main(String[] args)throws Exception{
new Pro1().start();
new Pro2().run();
System.exit(0);
}
public void run(){
for(int i=0;i<20;i++){
if(i>=10){
System.out.println("我是程序一,我再执行"+(20-i)+"次关闭");
}else{
System.out.println("我是程序一,我已经启动,什么时候看不到我了就证明我进入关闭倒计时了");
}
}
}
}
------------------------------------------------
public class Pro2 extends Thread{
public void run(){
while(true){
System.out.println("我是程序二,我已经启动并会一直执行下去,每隔一秒打印一次");
try{
Thread.sleep(1000);
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
更多追问追答
追问
你这个不是我要的那种效果,别拿这样的线程来坑人。你是在调用那个程序2的run()方法,如果把run()换作是别的方法名字,效果还是一样。检查你这个程序,只需要在退出之前输出一句提示就是,在System.exit(0)之前,加上System.out.println("exiting");。而这句话永远不会输出
追答
现在的人都这德性?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Runtime.exec方法可以,具体这个关键代码。。其实就一行,而且给你也不一定你能那过去就用,具体看你调用的程序来定的。
你看看API就好了
你看看API就好了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你了解线程的运行工作吗? 首先启动JVM 加载线程 启动线程 线程完毕 JVM退出,那么当你使用System.exit(0)是 JVM关闭 线程由谁去管理,当你拔掉电源插座时,你的电脑还会待机吗?我想是不会的吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询