`

timer cancel方法的一个小实例

阅读更多
package com.lj.timer;

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

public class MyTimer extends TimerTask
{

	private int a;
	
	private Timer timer;
	
	public MyTimer(){
		timer=new Timer();
	}
	

	@Override
	public void run()
	{
		a++;
		System.out.println("hello world");
		System.out.println(a);
 		if(a==5){
 		this.cancel();
 		timer.cancel();
 		}
	}

	public static void main(String[] args)
	{
		MyTimer mytimer = new MyTimer();

		Timer timer = mytimer.timer;

		timer.schedule(mytimer, new Date(), 1000);
	 
	}

}


这里让程序每秒执行一次, 每次执行a加1, 等a加到5的时候,就让两个线程Mytimer和Timer都停止掉。

这里如果不让timer cancle掉,那么整个进程就会一直运行。


分享到:
评论

相关推荐

    android定时器Timer实例

    下面是一个简单的`Timer`实例: ```java Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { // 这里编写你的任务代码 Log.d("TimerTask", "Task executed"); } }...

    定时器Timer实例.rar

    然后,我们可以使用`Timer`实例化一个定时器,并使用`schedule()`方法来安排任务: ```java Timer timer = new Timer(); MyTimerTask task = new MyTimerTask(); timer.schedule(task, 5000); // 延迟5秒执行 ...

    Timer定时器的使用方法

    1. 创建 `Timer` 对象:首先,我们需要创建一个 `Timer` 实例。`Timer` 的构造函数默认采用单线程模型执行任务,这意味着同一时间只能有一个 `TimerTask` 在运行。 ```java Timer timer = new Timer(); ``` 2. ...

    threading.timer 实例项目源代码

    在这个实例项目中,`threading.timer_test`可能是包含一个或多个测试用例的脚本,用于演示和理解`threading.Timer`的工作原理。 `threading.Timer`的基本使用方法是创建一个Timer对象,传入两个参数:间隔时间和回...

    JavaTimer和TimerTask实例教程Java开发

    值得注意的是,`TimerTask`是可取消的,你可以通过调用其`cancel`方法来停止一个正在运行或者已经安排但还未运行的任务。 **3. 使用示例** ```java import java.util.Timer; import java.util.TimerTask; public ...

    timer写的任务池

    `Timer`类是一个线程,它负责调度和执行`TimerTask`实例。`TimerTask`则是表示要在特定时间执行的代码逻辑。 首先,`Timer`类的创建非常简单,通常通过调用其构造函数即可,例如`Timer()`或`Timer(boolean isDaemon...

    J2me Alert Timer实例源码.rar

    Timer与TimerTask类一起使用,TimerTask是一个抽象类,你需要继承并实现其run()方法,以定义在定时器触发时要执行的代码。 在这些源码实例中,开发者可能会看到以下关键知识点: 1. **创建Alert**:源码将展示如何...

    Timer小工程文件

    【标题】"Timer小工程文件"揭示了一个关于Android平台中计时器(Timer)的简易应用实例。在Android开发中,Timer是一个强大的工具,用于安排在未来某一时刻或定期执行任务。这个压缩包提供的"TimerDemo"很可能是包含...

    定时器Timer

    创建一个 `Timer` 实例,然后创建一个 `TimerTask` 的子类实例,最后通过 `schedule()` 方法将任务添加到 `Timer` 中。 ```java import java.util.Timer; import java.util.TimerTask; public class ...

    java定时器(timer类使用详解)

    每个`Timer`实例都关联有一个单独的后台线程,称为"定时器线程",负责执行所有的`TimerTask`。因此,尽管任务本身可以在不同的线程中运行,但调度过程是在同一个线程中进行的。 6. **避免内存泄漏** 当`Timer`...

    android中timer的使用

    创建`Timer`实例通常使用`new Timer()`,而创建`TimerTask`实例则需要自定义一个类继承`TimerTask`并重写其`run()`方法。以下是一个简单的`Timer`使用示例: ```java Timer timer = new Timer(); TimerTask task = ...

    Android---Service Timer之执行周期任务

    首先,在Service的onCreate()或onStartCommand()方法中初始化Timer,然后创建一个TimerTask实例,设置其执行逻辑。最后,使用Timer的schedule()方法来安排任务的执行。 以下是使用自定义Service和TimerTask执行周期...

    Timer和TimerTask的使用

    - **构造方法**:`Timer()` 创建一个新的定时器实例。 - **主要方法**: - `schedule(TimerTask task, long delay)`:延迟指定的时间后执行一次任务。 - `schedule(TimerTask task, long delay, long period)`:...

    taskTimer 线程 任务

    使用`Timer`类,你可以创建一个`TimerTask`实例,然后通过`Timer`的`schedule()`或`scheduleAtFixedRate()`方法来设定任务的执行时间。 1. **创建定时任务**:创建一个`TimerTask`子类,重写`run()`方法,这将是你...

    TimerTask与Timer设计时间监控

    `Timer`类主要负责调度任务,可以创建一个定时器实例,然后安排一个或多个`TimerTask`在未来执行。它有两种主要的方法:`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, long ...

    sample-Timer.rar_Timer ja_mftimer_timer java

    该方法接受一个`TimerTask`实例和两个参数:首次执行的延迟时间(以毫秒为单位)和周期性执行的间隔(也是毫秒)。如果希望任务只执行一次,可以使用`scheduleOnce`方法。例如: ```java MyTask task = new MyTask...

    java.util.timer实现的简单定时任务

    需要注意的是,`Timer`并不是线程安全的,如果你在一个多线程环境中使用同一个Timer实例来调度任务,可能会遇到意想不到的问题。此外,当主线程结束时,Timer线程可能不会立即停止,导致程序退出前仍有未执行完的...

    Timer-java.rar_java timer_timer_timer java

    `Timer`类是线程安全的,这意味着在多线程环境中,多个线程可以安全地共享同一个`Timer`实例而无需额外的同步措施。然而,如果一个`TimerTask`的执行时间过长,可能会阻塞其他`TimerTask`的调度,因此应尽量避免...

    Timer schedule

    创建一个`TimerTask`实例后,就可以将其传递给`Timer`进行调度。 1. **只执行一次的方法** - `Timer.schedule(TimerTask task, long delay)`:这个方法会在当前时间的基础上延迟`delay`毫秒后执行一次任务。`delay...

    Timer与TimerTask(计时器)

    - 创建`Timer`实例:`Timer()`构造函数创建一个新的`Timer`对象,而`Timer(boolean)`构造函数则可以根据参数`boolean`决定是否进行后台线程的守护。 - 取消`Timer`:`public void cancel()`方法用来取消`Timer`,这...

Global site tag (gtag.js) - Google Analytics