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

网站编辑面试wordpress前台403

网站编辑面试,wordpress前台403,烟台网站建设找三硕科技,烟台做网站哪家好一、什么是定时器 定时器是指可以通过 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.yayakq.cn/news/446724/

相关文章:

  • 温州网站制作哪家好静态网页代码大全
  • 上海高端网站设计公司价格网站建设就选
  • 装饰公司简易手机网站建设网站 报告书
  • 如何做网站网站的教程微信拼团小程序怎么做
  • 石家庄网站建站世界优秀摄影作品网站
  • 电商网站设计岗位主要是vs简单的网站开发
  • 石家庄建设集团有限公司网站做菠菜网站代理犯法吗
  • 英语培训网站模板如何设置网站关键字
  • 国外被墙网站电子商务的公司有哪些
  • mysql 网站 数据库查网站空间商
  • 网站域名登陆地址福建国通星驿网络科技有限公司
  • 针对网站做搜索引擎做优化网站建设宣传 mp4
  • 企业网站建设案例有哪些公司网站空间买什么的好
  • 网站建设3lue建筑网片钢筋网生产厂家
  • 怎么用php源代码做网站网店推广怎么做
  • 求个网站好人有好报百度贴吧怎么看一个网站好坏
  • 网站优化布局wordpress仪表盘关闭
  • 广州市官网网站建设哪家好郴州招聘网直招最新招聘
  • 不错的网站建设公常州设计公司有哪些
  • 南宁网站快速排名提升幻灯片在什么网站做
  • 中国建设银行投标再什么网站上大学网络推广培训
  • 给几个能看的网站 贴吧app代理推广合作50元
  • 免费微网站制作教程视频推荐12个国外免费自助建站网站
  • 苏州建网站的公司招购物网站建设 属于信息系统管理与设计么
  • 工厂做哪个网站好thecontent WordPress
  • 建立网站有哪几种方式wordpress 左右图文排版
  • 企业手机端网站模板找专业做网站的公司
  • 做qq图片的网站吗网站开发盈利
  • 网站后台无法修改信息视频网站建设应该注意什么
  • html网站制作答辩ppt网站开发工程师证书有用吗