Java两种延时——thread和timer

摘要:
在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep方法,这很简单。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。但是如果要使用精确延时,最好使用Timer类:这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次,使用timer.schedule;则每间隔2秒执行MyTask()

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

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

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

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

免责声明:文章转载自《Java两种延时——thread和timer》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RedHat7搭建KVM虚拟机js 无刷新监听URL的变化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#中精确计时的一点收获

以下所有代码运行环境:Windows 2003, Intel(R) Core(TM) 2 Duo CPU E8400@ 3.00GHz 2.99GHz,2.96GB内存 根据综合网上的一些文章,精确计时主要有以下几种方式 1 调用WIN API中的GetTickCount [DllImport("kernel32")] static extern uin...

js获取当前时间戳以及前一天时间戳

 js获取当前时间戳以及前一天时间戳(毫秒) var timestamp = (new Date()).getTime(); console.log(timestamp);//打印当前时间戳 console.log(timestamp-24*60*60*1000);//当前时间戳(毫秒) - 1天毫秒数 = 前一天时间戳...

用Python完成毫秒级抢单,助你秒杀淘宝大单

目录: 引言 环境 需求分析&前期准备 淘宝购物流程回顾 秒杀的实现 代码梳理 总结 0 引言 年中购物618大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘宝APP直接搜索:小胖发福利,每天领取三次粉丝专属现金大红包。 有了现金大红包,如何做到更省钱的剁手呢?今天给大家提供一种思路,用Python实现秒杀订单...

【JS笔记】5.3 Date类型

Date类型存储的信息:从UTC(1970年1月1日0时)开始经过的毫秒数 创建Date对象: 使用构造函数Date() 表示当前毫秒数的Date对象:var now = new Date();//不用参数时默认为当前毫秒数 表示指定毫秒数的Date对象:var date1 = new Date(milliseconds); 获取milliseconds方...

SQLSERVER 建立全文检索

--创建测试表 --DROPTABLEFullTextIndexing CREATETABLEFullTextIndexing ( IDINTIDENTITY(1,1)NOTNULL, SentenceVARCHAR(MAX) ) --创建聚集索引 ALTERTABLEFullTextIndexingADDCONSTRAINTPK_Full...

Mysql Tips -- 显示执行SQL耗时,精确到毫秒

MySQL执行一个SQL语句时,执行时间精确到秒。如下: mysql> select * from test +----+-------+ | id | name | +----+-------+ | 1 | david | +----+-------+ 1 row in set (0.00 sec) 如何精确到毫秒呢?MySQL有个内置语句...