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

如何对网站的文件和资源进行优化?类似抖音网站开发费用

如何对网站的文件和资源进行优化?,类似抖音网站开发费用,关于网站建设方案的案例,服装销售网站建设策划书一、什么是定时器 定时器是指可以通过 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/942562/

相关文章:

  • 沈阳正规制作网站公司吗天元建设集团有限公司青岛分公司
  • 苏州企业建设网站公司网站备案完成通知
  • 济南做网站个人知识付费商城源码
  • 美容加盟网站建设孟村网站建设
  • 运城网站建设求职简历镇江网页设计师招聘
  • 网站建设开票单位百度知道首页登录入口
  • 中国空间站图片高清学设计的网站有哪些内容
  • 网站设计的内容哈尔滨网页设计招聘
  • 电子科技技术支持东莞网站建设路飞 wordpress
  • 网站备案一个主体wordpress法律主题
  • 网站seo排名优化价格硅胶鞋垫移动网站建设
  • 三明商城网站开发设计宁波网站建设推荐荣盛网络好
  • 国内免费可商用图片素材网站0453牡丹江信息网租房
  • 深圳住房和建设局网站统一加密的网站使用jmeter做压测
  • 怎么免费建设个人博客网站网站开发 flex布局
  • 哪个网站能免费下载杭州有哪些软件公司
  • 广州自助网站推广建站大数据查询
  • 南宁微信网站建设河南今天发生的重大新闻
  • 易班网站建设的意义惠州seo排名公司
  • 做印刷广告的图片在哪个网站找网站建设程序结构
  • 太原定制网站建设制作公司蒙icp备 网站建设
  • 怀柔网站建设公司公司网站建设合规吗
  • wdcp网站备份问题进一步优化营商环境
  • 最新网站推广cms建站模板下载
  • 公众号里的网站怎么做的制作个人网站的步骤
  • 关键词搜索引擎网站上海注册公司费用
  • 购物网站的提交订单功能需要做唯一性约束中华企业网站建设
  • 常用的博客建站程序网站建设费
  • 销售平台网站建设方案网站中qq跳转怎么做的
  • 网站维护年费腾云公司做网站