JAVA多线程——定时任务实例(未完成)

Java定时任务实现

功能设计

设计一个定时执行的多线程任务,具有两种功能:

  • 固定时间点运行任务
  • 以固定时间为周期运行任务

JAVA实现

简单版实现:Timer定时器

利用JAVA自带的Timer类定时器,它可以设置计划任务,也就i是在指定的时间开始执行某一个任务。它使用TimerTask来封装任务。

实例

package timer.example;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {
   
   

	public static void main(String[] args) throws InterruptedException {
   
   
		MyTask task = new MyTask();
		Timer timer = new Timer();
		
		System.out.println("当前时间:" + new Date().toLocaleString());
		// 调度一个Task,当前时间1秒后,每两秒执行一次
		timer.schedule(task, 1000,2000);
		
		Thread.sleep(10000);
		task.cancel(); // 取消当前的任务,这样开始每两秒运行一次的task就停止了
		
		System.out.println("=========================");
		
		Calendar now = Calendar.getInstance();// 获取当前时间
		now.set(Calendar.SECOND, now.get(Calendar.SECOND)+3);
		Date runDate = now.getTime();
		MyTask2 task2 = new MyTask2();
		timer.scheduleAtFixedRate(task2, runDate, 3000);
		// 固定速率,这里是指从runDate(前面定义的当前时间后3秒钟)开始执行每3秒执行一次,实际运行间隔取线程进行时间和定义间隔间最长者
		Thread
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值