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

一步一步网站建设教程seo描述是什么意思

一步一步网站建设教程,seo描述是什么意思,成都php网站制作程序员,苏州住建局官网平台Timer使用一个线程,一个小根堆。线程执行根上的任务,小根堆会根据执行时间戳重新调整,根上的任务是下一个执行的任务。 DelayedQueue维护一个优先级队列,本质也是一个数组方式的堆。任务生成时也有时间戳,只提供存储。…

Timer使用一个线程,一个小根堆。线程执行根上的任务,小根堆会根据执行时间戳重新调整,根上的任务是下一个执行的任务。

DelayedQueue维护一个优先级队列,本质也是一个数组方式的堆。任务生成时也有时间戳,只提供存储。

ScheduledThreadPoolExecutor的存储是DelayedWorkQueue,维护一个优先级队列,本质也是一个数组方式的堆。也是任务有对应的时间戳,执行后重新设置任务执行时间,但是是多线程方式执行。

Spring的@Scheduled底层使用的是ScheduledThreadPoolExecutor。默认单线程,所以同一个时间的任务会排序执行,随机的排序,如果维持单线程,多个节点执行,即使加了分布式锁也可能会重复执行,可以增加线程数量,可以使用多个scheduler。https://blog.csdn.net/liuxiao723846/article/details/90546619
@Scheduled(fixedRate = 51_000)是一个任务开始5秒后下一个任务执行。
@Scheduled(fixedDelay = 5
1_000)是一个任务结束5秒后下一个任务执行。

上面使用堆的方式,插入任务的效率是nlogn,logn是因为堆调整为新的小根堆时是logn。

Quartz使用一个调度器线程遍历所有任务当前是否到了执行时间,太慢。

Netty包里有HashedWheelTimer。时间轮在Dubbo定时重试,RocketMQ延时消息、XXL-Job任务调度中都有使用。
时间轮使用一个调度器线程看刻度,每个刻度对应一个列表存储此时应执行的任务,比起JDK,任务插入效率是1,比起Quartz,一个调度器线程不遍历所有任务,而是找到刻度,就找到了要执行的任务。
但是在时间刻度多,但任务数量少的情况下,遍历刻度反倒不如遍历任务,效率低,而且很多刻度上没有任务,还占用空间。
所以可以使用多维度的时间轮来减少刻度,比如秒级刻度,一天有86400个秒,使用这种,任务少时不合适。可以使用一个小时级刻度,加一个分钟级刻度,加一个秒级刻度。
还可以以应用方向为层级,构造垂直多层的时间轮,一层是一个应用方向,但调度时仍然是一个线程,类似于IO多路复用。

参考:http://it.taocms.org/01/100134.htm

http://www.yidumall.com/news/92941.html

相关文章:

  • 广州外贸网络推广关键词优化方法
  • 石碣镇仿做网站如何做好营销
  • 昆明网站seo优化网站优化排名的方法
  • 杭州网站设计建设英文网站推广
  • 购物网站建设与实现网站建设报价明细表
  • 烟台开发区网站制作公司百度销售是做什么
  • 网页建站实用技术爱站seo查询
  • 嵌入式培训机构排行移动端优化
  • 网站建设销售怎么做软文营销的步骤
  • 网站开发基础优化网站建设
  • 龙岗附近做网站公司哪家好百度有钱花人工客服
  • 成都微信网站建设多少seo视频教程
  • wordpress标签云插件seo网站优化工具
  • 网站续费百度广告开户
  • 好看的wordpress插件昆明网站seo优化
  • 网站建设快速广州网站建设方案优化
  • 普通网站服务器网上广告怎么推广
  • 购物网站的策划安卓优化大师app下载
  • 北京做环评备案的网站百度账号免费注册
  • 优惠券网站怎么做代理网上销售哪些平台免费
  • 衡水做wap网站的地方seo基础视频教程
  • 好看的网站后台界面百度平台我的订单
  • 如果做网站用javaseo关键词排名优化案例
  • 网站设计作业平台软文推广渠道
  • 兰州哪里做网站专业公司网络推广
  • 网站建设厦门同安win7优化大师
  • 汽车网站 源码seo网络营销课程
  • 太原网站建设需要多少钱乔拓云智能建站平台
  • 上海网站建设长春网络营销公司
  • 北京网站建设laitang百度建站多少钱