当前位置: 首页 > 编程笔记 >

浅谈Timer和TimerTask与线程的关系

章增
2023-03-14
本文向大家介绍浅谈Timer和TimerTask与线程的关系,包括了浅谈Timer和TimerTask与线程的关系的使用技巧和注意事项,需要的朋友参考一下

1. Timer是一个定时器,它可以根据指定的时间,指定的执行周期来执行固定的任务TimerTask,例子如下:

Timer与线程的关系,在Timer源代码中可现如下代码:

1. 以下为Timer的默认构造方法,起调用了自身的一个有参构造函数:

2.有参构造函数代码如下:

3. 有参构造函数设置了当前线程的名字并启动该线程,线程代码如下:

4. TimerThread类的源代码如下:

由以上代码可以看出Timer其实就是一个Thread类的子类。

TimerTask与线程的关系:

1. 以下为TimerTask的构造函数的源码:

2. 以下为TimerTask类的定义:

又以上代码可以看出,TimerTask是一个实现了Runnable接口的线程,此类中有一个抽象的run方法,如下:

所以我们必须在TimerTask的子类中实现这个run方法。

总结:

以上Timer和TimerTask的关系类似如下线程关系:

以上这篇浅谈Timer和TimerTask与线程的关系就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈matplotlib.pyplot与axes的关系,包括了浅谈matplotlib.pyplot与axes的关系的使用技巧和注意事项,需要的朋友参考一下 最近在学习数据可视化,梳理一下其中一些诸如pandas绘图、matplotlib绘图、pyplot(plt)、axes等概念。 重要的事情说三遍:axes不是axis!axes不是axis!axes不是axis! 重要的事情说三

  • 本文向大家介绍浅谈java的守护线程与非守护线程,包括了浅谈java的守护线程与非守护线程的使用技巧和注意事项,需要的朋友参考一下 最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) ,(PS:以前忽略了)。 估计学过Unix开发但是没有细致学习Java的同学们会

  • 问题内容: 我试图在JLabel上连续显示日期和时间。因此,在我看过的上一个教程中,发言人说:“您必须在必要时使用此线程,因为它会占用程序的内存”。 因此,我搜索了其他替代方法,然后找到了Timer和TimerTask,这是在程序的长期运行中最有效的方法? 问题答案: 计时器用于在一定间隔后,延迟或两者结合后运行任务(即TimerTask)。在您的情况下,您可以使用以下方式: 请注意,为了更新Sw

  • 本文向大家介绍浅谈chuck-lua中的多线程,包括了浅谈chuck-lua中的多线程的使用技巧和注意事项,需要的朋友参考一下 chuck-lua支持actor模式的线程模型.可以通过cthread.new创建线程,然后通过cthread.sendmail向线程发送消息. 与skynet这种框架不同,chuck-lua并不提供多线程的任务/消息调度功能,每个线程维护了一个简单的线程邮箱,用于缓存其

  • 本文向大家介绍java之Timer和TimerTask简单demo(分享),包括了java之Timer和TimerTask简单demo(分享)的使用技巧和注意事项,需要的朋友参考一下 代码:测试类 TimerTask任务类 以上这篇java之Timer和TimerTask简单demo(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍浅谈Android中线程池的管理,包括了浅谈Android中线程池的管理的使用技巧和注意事项,需要的朋友参考一下 说到线程就要说说线程机制 Handler,Looper,MessageQueue 可以说是三座大山了 Handler Handler 其实就是一个处理者,或者说一个发送者,它会把消息发送给消息队列,也就是Looper,然后在一个无限循环队列中进行取出消息的操作 mMyHa