注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小葫芦君(汉斯的博客)

博客迁移到新博客:https://blog.ssxingshou.com

 
 
 

日志

 
 
关于我

小小葫芦商城,为您提供高品质的商品,一流的产品,一流的包装服务,一流的物流服务,放心购买

网易考拉推荐

一个简单的例子看java线程机制

2006-11-02 10:09:25|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

import java.util.*;
public class TestTimer
{
public static void main(String[] args)
{
new Timer().schedule(new TimerTask() //匿名类
{
public void run()
{
try
{
Runtime.getRuntime().exec("notepad.exe");
}
catch(Exception e)
{
e.printStackTrace();
}
//结束任务线程的代码
//Timer.cancel();
//TimerTask.cancel();
}
},
5000);
}
}


/*
*功能:程序启动5秒后,打开记事本应用程序
*缺陷:因为使用了匿名类,所以程序中注释的代码即使取消注释也不能结束new Timer的线程
*About Thread:When code running in some thread creates a new Thread object,
* the new thread has its priority initially set equal to the priority
* of the creating thread, and is a daemon thread if and only if the creating
* thread is a daemon.
*解决:如果想在启动记事本后终止程序,即使线程停止,则不可使用匿名类。
*如下可以实现:
import java.util.*;
public class TestTimer
{
public static void main(String[] args)
{
Timer tm = new Timer();
tm.schedule(new MyTimerTask(tm),5000);
}
}

class MyTimerTask extends TimerTask
{
private Timer tm = null;
public MyTimerTask(Timer tm)
{
this.tm = tm;
}
public void run()
{
try
{
Runtime.getRuntime().exec("notepad.exe");
}
catch(Exception e)
{
e.printStackTrace();
}
tm.cancel();
}

}
*/

  评论这张
 
阅读(381)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017