当前位置: 首页 > news >正文

建站最便宜的平台企业管理培训课程有哪些内容

建站最便宜的平台,企业管理培训课程有哪些内容,html怎么做成网站,最好的app制作公司Timer 简述 在Java中,Timer(计时器)是一个用于安排定时任务的类。它可以实现在指定的时间间隔或指定的时间点执行某项任务或操作。 简单的来说Timer就是在Java中用来实现定时任务的工具。 Timer的API Timer中有两API可以使用分别是schedule…

Timer 简述

在Java中,Timer(计时器)是一个用于安排定时任务的类。它可以实现在指定的时间间隔或指定的时间点执行某项任务或操作。

简单的来说Timer就是在Java中用来实现定时任务的工具。

Timer的API

Timer中有两API可以使用分别是schedule()scheduleAtFixedRate()

schedule

    /*** 表示在指定的延迟时间后执行任务(只执行一次)* @param task 表示要执行的任务或操作* @param delay 延时时间*/public void schedule(TimerTask task, long delay)/*** 表示在指定的延迟时间后首次执行任务,并且之后在每个周期内重复执行任务* @param task 表示要执行的任务或操作* @param delay 延时时间* @param period 执行周期*/public void schedule(TimerTask task, long delay, long period)

scheduleAtFixedRate

    /*** 表示在指定的延迟时间后执行任务(只执行一次)* @param task 表示要执行的任务或操作* @param delay 延时时间*/public void scheduleAtFixedRate(TimerTask task, long delay, long period)/*** 表示在指定的延迟时间后首次执行任务,并且之后在每个周期内重复执行任务* @param task 表示要执行的任务或操作* @param firstTime 任务的首次执行时间* @param period 执行周期*/public void schedule(TimerTask task, Date firstTime, long period)

Timer的使用

public class TimerDemo {public static void main(String[] args) {final Timer timer = new Timer();// schedule和scheduleAtFixedRate的用法是同理的timer.schedule(new TimerTask() {@Overridepublic void run() {new Thread(() ->{System.out.println("1");});}//第一次执行是在当前时间的一秒之后,之后每隔一秒钟执行一次}, 2000, 2000);}
}

Timer虽然说在Java中使用的很频繁,但是Timer在某些情况下是存在问题的,他会导致定时任务的执行混乱

我们先来说结论

schedule的问题就是:如果执行时长超过了设定的延迟时间,下一次任务会立即开始,即在上次任务结束后立即执行
scheduleAtFixedRate的问题就是:不管任务的执行时长如何,每次任务都会在固定的时间间隔内开始

我这么说可能有很多小伙伴不明白是什么意思
我简单的来解释一下,针对于schedule,如果我的某一次任务timeout了,并且我超时间的时间要长于我设定的period也就是延时时间,那当我本次任务执行完之后,我本来设置的下一次的任务就会立刻执行,我在同一时间就会执行两次相同的任务。
scheduleAtFixedRate呢,比如你设置了一个定时任务想让他在10分钟内跑2次,也就是每5分钟跑一次,同样的我还是有一个任务timeout了并且大于了5分钟,此时10分钟内该定时任务就不一定会跑2次了。scheduleAtFixedRate虽然保证了每次任务执行之间的时间间隔,但是无法保证在相同的时间内可以执行你所预期的次数。

大家可以自己试验一下,比如设定每2秒执行一次,但是在任务中间执行的时候给他sleep3秒钟,你就会发现你的定时任务乱掉了。

最后说一下是因为什么会出现这些问题,看源代码可以知道Timer其实是一个单线程执行,它需要等前一个任务执行完之后再去执行下一个任务。所以如果你想要不出现这种问题可以采用线程池的方式,或者在Timer里面自己定义一个多线程

具体的源代码分析我会放在下一个章节

http://www.yayakq.cn/news/952068/

相关文章:

  • 请人做网站设计的方案建分类网站得花多少钱
  • 四川城乡住房和城乡建设厅网站首页打开网站自动弹出qq
  • 影视vip网站建设教程windows做网站服务器吗
  • 国外创意网站欣赏wordpress伪静态 插件
  • 我现在有域名怎么做网站家具公司网站建设
  • 虚拟主机搭建网站源码营销型网站案例展示
  • 招聘网站建设与开发要求网站的功能包括哪些内容
  • 盘锦网站开发公司个人博客网页制作
  • 济宁网站制作唐人桐梓县工程建设交易网站
  • 中文域名注册网站重庆有哪些做优化的公司
  • 医院网站怎么做优化排名做网站在阿里云买什么
  • 高端网站搭建如何做网站二维码
  • 想建个购物网站十大没用的证书
  • wap网站发布高淳城乡建设局网站
  • 如何查看网站收录情况手机上开发app
  • 网站转换小程序网站怎么做缓存
  • 江苏省现代化示范校建设网站给wordpress公告
  • 网站数据库怎么建立成都做网站
  • 橘色网站模板中国建设协会网站
  • 开网站卖东西需要什么条件网站建设教程平台
  • wordpress加载html广州营销seo
  • 开发者选项开启好还是关闭好优化网络推广外包
  • 我要做一个网站 需要营业范围吗网站开发交付
  • 西安网站定制新媒体营销论文选题方向
  • 浙江网站建设方案优化遵义外国网站制作
  • app开发导入网站模板沅江市建设局网站
  • 淘宝网站的推广方案哪个网站做简历免费下载
  • 门户网站建设请示seo优化技术
  • 昆明网络推广昆明网站建设昆明昆明jsp网站建设项目实战
  • 洛阳网站建站小程序源码网免费下载