定时器Timer的使用


多个timerTask任务及延迟的案例

public class Run2 {

	private static Timer timer = new Timer();

	static public class MyTask1 extends TimerTask {
		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}

	static public class MyTask2 extends TimerTask {
		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
		try {
			MyTask1 task1 = new MyTask1();
			MyTask2 task2 = new MyTask2();

			SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

			String dateString1 = "2014-10-12 10:39:00";
			String dateString2 = "2014-10-12 10:40:00";

			Date dateRef1 = sdf1.parse(dateString1);
			Date dateRef2 = sdf2.parse(dateString2);

			System.out.println("字符串1时间:" + dateRef1.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());
			System.out.println("字符串2时间:" + dateRef2.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());

			timer.schedule(task1, dateRef1);
			timer.schedule(task2, dateRef2);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}


public class Run2Later {

	private static Timer timer = new Timer();

	static public class MyTask1 extends TimerTask {
		@Override
		public void run() {
			try {
				System.out.println("1 begin 运行了!时间为:" + new Date());
				Thread.sleep(20000);
				System.out.println("1   end 运行了!时间为:" + new Date());
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

	static public class MyTask2 extends TimerTask {
		@Override
		public void run() {
			System.out.println("2 begin 运行了!时间为:" + new Date());
			System.out.println("运行了!时间为:" + new Date());
			System.out.println("2   end 运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
		try {
			MyTask1 task1 = new MyTask1();
			MyTask2 task2 = new MyTask2();

			SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

			String dateString1 = "2014-10-12 11:33:00";
			String dateString2 = "2014-10-12 11:33:10";

			Date dateRef1 = sdf1.parse(dateString1);
			Date dateRef2 = sdf2.parse(dateString2);

			System.out.println("字符串1时间:" + dateRef1.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());
			System.out.println("字符串2时间:" + dateRef2.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());

			timer.schedule(task1, dateRef1);
			timer.schedule(task2, dateRef2);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}



public class Run {
	static public class MyTask extends TimerTask {
		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
		try {
			MyTask task = new MyTask();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String dateString = "2014-10-12 09:12:00";
			Timer timer = new Timer();
			Date dateRef = sdf.parse(dateString);
			System.out.println("字符串时间:" + dateRef.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());
			timer.schedule(task, dateRef, 4000);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}


public class Run2 {
	static public class MyTaskA extends TimerTask {
		@Override
		public void run() {
			System.out.println("A运行了!时间为:" + new Date());
			this.cancel();//讲自身从任务队列中清除
		}
	}

	static public class MyTaskB extends TimerTask {
		@Override
		public void run() {
			System.out.println("B运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
		try {
			MyTaskA taskA = new MyTaskA();
			MyTaskB taskB = new MyTaskB();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String dateString = "2014-10-12 09:12:00";
			Timer timer = new Timer();
			Date dateRef = sdf.parse(dateString);
			System.out.println("字符串时间:" + dateRef.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());
			timer.schedule(taskA, dateRef, 4000);
			timer.schedule(taskB, dateRef, 4000);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}


public class Run3 {
	private static Timer timer = new Timer();

	static public class MyTaskA extends TimerTask {
		@Override
		public void run() {
			System.out.println("A运行了!时间为:" + new Date());
			timer.cancel();
		}
	}

	static public class MyTaskB extends TimerTask {
		@Override
		public void run() {
			System.out.println("B运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
		try {
			MyTaskA taskA = new MyTaskA();
			MyTaskB taskB = new MyTaskB();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String dateString = "2014-10-12 09:12:00";
			Date dateRef = sdf.parse(dateString);
			System.out.println("字符串时间:" + dateRef.toLocaleString() + " 当前时间:"
					+ new Date().toLocaleString());
			timer.schedule(taskA, dateRef, 4000);
			timer.schedule(taskB, dateRef, 4000);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}


public class Run {
	static public class MyTask extends TimerTask {
		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}
	public static void main(String[] args) {
		MyTask task = new MyTask();
		Timer timer = new Timer();
		System.out.println("当前时间:" + new Date().toLocaleString());
		timer.schedule(task, 7000);
	}
}


public class Run {
	static public class MyTask extends TimerTask {
		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}

	public static void main(String[] args) {
			MyTask task = new MyTask();
			Timer timer = new Timer();
			System.out.println("当前时间:"+new Date().toLocaleString());
			timer.schedule(task, 3000,5000);
	}
}

  

猜你喜欢

转载自blog.csdn.net/qq_35400008/article/details/80568358