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

描述photoshop在网站建设中的作用与特点.谷歌浏览器下载手机版中文

描述photoshop在网站建设中的作用与特点.,谷歌浏览器下载手机版中文,六安网约车,山东聊城做网站一、什么是定时器 定时器是指可以通过 Java 中的 Timer 类和 TimerTask 类所提供的功能来实现定期执行某些任务的工具。 标准库中提供了一个 Timer 类 . Timer 类的核心方法为 schedule . schedule 包含两个参数 . 第一个参数指定即将要执行的任务代码 , 第二个参数指定多…

一、什么是定时器

定时器是指可以通过 Java 中的 Timer 类和 TimerTask 类所提供的功能来实现定期执行某些任务的工具。

标准库中提供了一个 Timer . Timer 类的核心方法为 schedule .
schedule 包含两个参数 . 第一个参数指定即将要执行的任务代码 , 第二个参数指定多长时间之后执行 ( 单位为毫秒).

下面是一个示例代码,用于创建一个定时器, 5 秒钟后打印一条消息:

import java.util.Timer;
import java.util.TimerTask;public class TimerExample {public static void main(String[] args) {Timer timer = new Timer();timer.schedule(new TimerTask() {public void run() {System.out.println("5 秒钟已经过去了...");}}, 5000);}
}

在上述代码中,我们首先创建一个 Timer 对象,然后使用 schedule 方法安排一个 TimerTask 对象在 0 秒后开始运行, 5 秒钟后再次运行。在 TimerTask 的 run 方法中,我们打印了一条简单的消息。

总之,Java 中的定时器是一种可以用来实现定期执行某些任务的工具,在开发中,我们可以根据具体需求来设计和使用相应的定时器,来进行任务的调度和处理。

 二、实现定时器

定时器的构成 :
  • 一个带优先级的阻塞队列
    为啥要带优先级呢?
    因为阻塞队列中的任务都有各自的执行时刻 (delay). 最先执行的任务一定是 delay 最小的. 使用带优先级的队列就可以高效的把这个 delay 最小的任务找出来.
  • 队列中的每个元素是一个 MyTask 对象.
  • MyTask 中带有一个时间属性, 队首元素就是即将
  • 同时要创建线程一直扫描队首元素, 看队首元素是否需要执行

class MyTask implements Comparable<MyTask>{public Runnable runnable;public Long time;//为了方便后续判定,使用绝对的时间戳public MyTask(Runnable runnable, Long delay) {this.runnable = runnable;//取当前时刻的时间戳 + delay, 作为该任务实际执行的时间戳this.time = System.currentTimeMillis() + delay;}@Overridepublic int compareTo(MyTask o) {return (int)(this.time-o.time);}
}
public class MyTimer {//带有优先级的阻塞队列private PriorityBlockingQueue<MyTask> priorityBlockingQueue = new PriorityBlockingQueue<>();private Object locker = new Object();public void schedule(Runnable runnable,long delay){MyTask task = new MyTask(runnable,delay);//放任务priorityBlockingQueue.put(task);synchronized (locker) {locker.notify();}}public MyTimer(){Thread t = new Thread(() -> {while(true){synchronized (locker) {try {//取任务MyTask take = priorityBlockingQueue.take();//任务的时间Long curTime = System.currentTimeMillis();if(take.time <= curTime){//时间到了,可以执行任务take.runnable.run();}else{//时间没到,把任务重新放回到队列里priorityBlockingQueue.put(take);//locker.wait(take.time-curTime);}} catch (InterruptedException e) {e.printStackTrace();}}}});t.start();}}
http://www.khdw.cn/news/25011.html

相关文章:

  • 网页与网站的区别与联系是什么百度一下搜索网页
  • 跨境电商平台有哪些可以加盟seo优化是怎么回事呢
  • 做阿里巴巴网站应怎样定位seo经典案例
  • wordpress 微服务seo网络优化招聘
  • 注册网站的免费网址com优化推荐
  • 一个电商网站开发周期是多久seo外包软件
  • 芜湖做公司网站的长沙seo代理商
  • 淘宝网站模板是什么做的关键词排名查询工具有哪些
  • 北京朝阳网站制作外贸营销型网站设计
  • 如何做淘宝联盟网站主seo网站排名后退
  • 网站备案全国合作拍照点深圳网站建设的公司
  • 望江县城乡建设局网站志鸿优化设计电子版
  • 广州网站建设哪里好企业网站seo平台
  • 什么是建设网站工具长沙百度网站推广公司
  • 成都网站建设吧sem是什么意思职业
  • 网站增加聊天百度网盘登录
  • 网站建设 保定今天国际新闻最新消息
  • 深圳做网站de百度电脑版下载
  • 如何建立独立站seo效果最好的是
  • 重视网站阵地建设seo优化服务
  • 网站5g空间多少钱百度seo快速排名优化服务
  • 网站会员系统怎么做模版seo搜索引擎优化书籍
  • 进入oppo官网商城seo排名推广
  • 织梦网站建设实验报告网站开发的公司
  • 点开图片跳到网站怎么做的重庆seo的薪酬水平
  • discuz 做门户网站免费二级域名分发
  • 如何做网站关键词优化百度排行榜风云
  • 回收手表的网站网站seo快速优化
  • 博山做网站企业网站建设案例
  • 高新网站开发1年经验网店网络营销策划方案