Java两种延时——thread和timer

转载 2018年04月17日 18:22:14

 在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如

  1. try   
  2. {   
  3. Thread.currentThread().sleep(1000);//毫秒   
  4. }   
  5. catch(Exception e){}  
 

 

 

在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线 程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。

 

但是如果要使用精确延时,最好使用Timer类:

 

[c-sharp] view plain copy
  1. Timer timer=new Timer();//实例化Timer类   
  2. timer.schedule(new TimerTask(){   
  3. public void run(){   
  4. System.out.println("退出");   
  5. this.cancel();}},500);//五百毫秒  
 

 

这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 则每间隔2秒执行MyTask()


转载自https://blog.csdn.net/zmhinzaghi/article/details/5837735

KING_C#学习之Thread和Timer实现延时用法(附自动切换窗体实例)

oh no, 很久没在这里更新博客了,最近公司项目逼得比较紧,今晚加班到2330,程序猿真的不容易啊。 废话不多说了,直入今天主题,thread和timer的用法及区别。 应用背景是这样的: 在主界面...
  • KingSea168
  • KingSea168
  • 2016-08-31 02:23:48
  • 2390

Android Handler和Thread实例及Timer()延时

Android对UI的处理需要放在Activity主线程去处理,因此对UI的操作不能在新建的Thread中处理 因此,采用Handler机制实现,以更新当前时间为例: 1,采用Thread方式处理 首...
  • longzhou3
  • longzhou3
  • 2013-08-20 11:13:22
  • 1025

Thread和Timer实现延时用法(自动切换窗体demo)

  • 2016年09月01日 01:20
  • 87KB
  • 下载

RT-Thread 02定时器

定时器管理定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个事件,类似定个时间提醒第二天能够按时起床。定时器有硬件定时器和软件定时器之分:1. ***硬件定时器***是芯片本身提供的定时功能...
  • dsf031411
  • dsf031411
  • 2017-09-14 21:31:30
  • 257

RT-thread内核之定时器管理

一、前言 rt-thread采用软件定时器线程模式或硬件定时器中断模式来实现系统定时器管理。而rt-thread操作系统在默认情况下是采用的硬件定时器中断模式的方式,用户可以通过宏定义RT_US...
  • jxgxlm2008
  • jxgxlm2008
  • 2016-07-04 14:32:48
  • 394

Thread和timer的应用区别

我想要完成的功能每隔一段时间发送网络请求,于是接触到了timer,然后研究发现thread更适合,众所周知网络请求是耗时,所以timer是固定时间发送,而thread是请求一次休息一定时间。 ...
  • BINGDUCAIJUN
  • BINGDUCAIJUN
  • 2016-01-11 09:50:39
  • 403

Timer管理延时任务的缺陷,和ScheduledExecutorService替代

1、Timer管理延时任务的缺陷 a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时...
  • xx123698
  • xx123698
  • 2016-01-23 12:01:39
  • 885

Android首页延时加载动画

  • 2016年01月13日 12:09
  • 2.65MB
  • 下载

Java定时任务的几种方法(Thread 和 Timer,线程池)

/**   * 普通thread   * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,   * 通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码...
  • u010963948
  • u010963948
  • 2016-10-27 15:48:17
  • 8084

Java多线程总结(3)— Timer 和 TimerTask深入分析

1. 基本概念  java.util.Timer:是一个实用工具类,该类用来调度一个线程(schedule a thread),使它可以在将来某一时刻执行。 Java的Timer类可以调度一个任务运行...
  • Mark_LQ
  • Mark_LQ
  • 2015-12-15 22:31:27
  • 4025
收藏助手
不良信息举报
您举报文章:Java两种延时——thread和timer
举报原因:
原因补充:

(最多只允许输入30个字)