public class MainActivity extends Activity {
private GetDataTask task;
private Timer timer = new Timer();
private TimerTask timerTask = new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(0);
}
};
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
System.out.println("-------------");;
break;
default:
break;
}
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (null != task) task.cancel(true);
task = new GetDataTask();
task.execute();
}
private class GetDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
timer.schedule(timerTask, 5 * 1000);
}
@Override
protected Void doInBackground(Void... params) {
try {
Thread.sleep(3 * 1000);
//Thread.sleep(8 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
task = null;
timer.cancel();
handler.removeCallbacks(timerTask);
handler.removeMessages(0);
}
}
}
说明:首先让计时器延时5秒执行timeTask,如果线程睡眠3秒,那么3秒后timer被取消,timeTask不会执行,就不会有打印信息。如果线程睡眠8秒,那么5秒后就会执行timeTask,就会打印信息。
分享到:
相关推荐
简易计时器 Timer 运用正则表达式 只准输入数字
在IT行业中,计时器(Timer)是一种常见且...而提供的压缩包文件"计时器timer"可能包含了实现这些功能的相关代码、资源文件或者示例,进一步学习和分析这些内容可以帮助我们深入理解这个特定的倒计时功能是如何实现的。
在本项目"QT实现的计时器 Timer Countdown"中,我们探讨的是如何利用QT库创建一个功能完备的倒计时计时器,它支持暂停功能,适用于多种应用场景,如游戏、考试倒计时等。 首先,我们需要了解QT中的计时器类——...
《PPT计时器Timer1.2:提升会议效率的利器》 在现代商务环境中,会议已经成为日常工作中不可或缺的一部分。为了确保会议的高效有序进行,时间管理显得尤为重要。"PPT计时器Timer1.2.rar"正是为解决这一问题而设计的...
Java 计时器 Timer 和 TimerTask 用法总结 Java 中的计时器(Timer)和 TimerTask 是一种常用的延迟执行技术,用于实现延迟执行某个任务或事件。下面将详细介绍 Timer 和 TimerTask 的用法和实现原理。 Timer ...
某些无窗体的模块,无法使用计时器timer控件,这个模块就派上用场了,完全模拟vb自带控件,事件,属性完全与vb自带的timer控件相同,例如:mTimer.Interval = 500设置计时器时间,mTimer.Enabled = True启动计时器,...
可以用在无窗体的模块中,本timer类模块,完全模拟vb自带控件,事件,属性完全与vb自带的timer控件相同,例如:mTimer.Interval = 500设置计时器时间,mTimer.Enabled = True启动计时器,mTimer.Enabled = False关闭...
VC 多线程时间计时器timer源码演示,两个时间计时线程分别运行于各自的线程中,互不影响,可点击按钮控制两个线程同进结束,本源码可向初学者演示如何创建多线程、计时器的使用等,调试环境为VC .NET。
在本文中,我们将深入探讨如何使用Qt框架中的`QTimer`类来实现实时计时器功能,包括开始计时、停止计时、暂停计时和打点等操作。Qt是一个跨平台的应用程序开发框架,广泛应用于C++编程,特别适合创建图形用户界面...
timer 计时器的四种主要使用方式 1 schedule(TimerTask task, Date when) 2 schedule(TimerTask task, long delay) 3 schedule(TimerTask task, long delay, long period) 4 schedule(TimerTask task, Date time,...
在计算机科学中,计时器是用于测量时间间隔的关键工具,尤其在性能分析、系统优化以及游戏编程等领域。本文将详细探讨基于CPU的精确计时器,并解释为什么时钟频率越高,计时越准确。 首先,我们需要理解CPU时钟频率...
Timer 类在 Java 中是用于调度任务的工具,它允许程序员安排任务在未来某个时间点或者按照一定的周期执行。这个类位于 `java.util` 包下,与之配合使用的还有一个名为 `TimerTask` 的抽象类,它是所有计划任务的基础...
VB计时器控件(Timer控件)允许开发者创建一个能够定时触发事件的程序,这对于实现定时执行某些操作或者显示实时更新的数据非常有用。下面将详细介绍如何使用VB来制作一个简单计时器,并探讨可能的扩展功能。 一、...
在C#中,我们可以使用System.Timers.Timer或System.Windows.Forms.Timer类来创建计时器。本教程将聚焦于C#中的简单计时器实现,特别是倒计时计时器,非常适合初学者入门。 首先,让我们理解C#中的计时器类。`System...
4. **启动和停止倒计时器**:在需要开始倒计时的地方,启用Timer控件;在倒计时结束后或需要暂停时,禁用Timer控件。这可以通过设置Timer控件的Enabled属性来实现。 ```vb ' 启动倒计时器,假设remainingSeconds...
在C#中,有两种主要的计时器类:`System.Windows.Forms.Timer` 和 `System.Timers.Timer`。前者主要用于Windows Forms应用程序,而后者则适用于多线程环境和服务器应用程序。在本课件中,我们将重点介绍Windows ...
计时器(Timer)是WinForms中常用的一个组件,它允许我们在指定的时间间隔内触发事件。 首先,我们需要在WinForms设计器中添加一个计时器控件。这可以通过在工具箱中找到`Timer`控件并将其拖放到窗体上完成。默认...
Java计时器(Timer)是Java Swing库中的一个组件,用于调度周期性的任务或执行一次性的延迟任务。在这个经典例子中,我们将会探讨如何利用Java计时器来实现每3秒在控制台上打印当前时间的功能。这个功能对于理解Java...
这个demo展示了如何通过语音设置APP里面闹钟和计时器,通过语音实现某个APP的内容搜索或者其他功能操作和这个demo类似,有需要的伙伴可以参考一下代码。这是作者本人通过学习官方文档和自己摸索出来的,如果有哪里...
在Flash编程中,计时器(Timer)是一个非常重要的组件,它允许开发者创建基于时间的事件,例如动画、倒计时或游戏中的定时任务。在本压缩包中,包含两个不同的Flash计时器实例,分别为"321.fla"和"321f.fla",以及...