定时启动线程

假设我们要令一个线程定时启动(譬如从今天晚上23点15分开始,隔1秒钟启动一次)
可以使用java.util包中的Timer类,详细用法大家可以查下API。
下面是一个例子:
【TimeTaskThread】 这是要用来执行的任务,需要继承TimerTask类
#这里假设我们要让它执行的时候显示当前时间

  1. import java.util.Calendar;
  2. import java.util.TimerTask;
  3.  
  4. public class TimeTaskThread extends TimerTask {
  5.  
  6.         @Override
  7.         public void run ( ) {
  8.                 System. out. println ( Thread. currentThread ( ). getName ( ) + ": " + Calendar. getInstance ( ). getTime ( ) );
  9.         }
  10.  
  11. }

【TimerThreadExample】具体步骤

  1. import java.util.Calendar;
  2. import java.util.Timer;
  3.  
  4. public class TimerThreadExample {
  5.  
  6.         public static void main ( String [ ] args ) {
  7.                 Timer timer = new Timer ( )// 创建计时器
  8.                
  9.                 Calendar calendar = Calendar. getInstance ( )// 指定时间
  10.                 calendar. set ( Calendar. HOUR_OF_DAY, 23 );
  11.                 calendar. set ( Calendar. MINUTE, 3 );
  12.                 calendar. set ( Calendar. SECOND, 15 );
  13.                
  14.                 long delay = 1000// 指定延时(每间隔这个时间线程重复运行一次)
  15.                
  16.                 timer. schedule ( new TimeTaskThread ( ), calendar. getTime ( ), delay ); // 预定从指定日期开始每间隔delay ms执行该任务
  17.  
  18.         }
  19.  
  20. }

* 注意
API中有三个Timer,这里用到的Timer来自java.util包……
若是指定时间,假如这个时间已过则立即执行任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值