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

html做一个登录注册页面苏州优化件

html做一个登录注册页面,苏州优化件,wordpress中文版去广告,南通建公司网站常见实现方案 Scheduled注解#xff1a;基于注解Timer().schedule创建任务#xff1a;基于封装类Timer线程#xff1a;使用线程直接执行任务即可#xff0c;可以与thread、线程池、ScheduleTask等配合使用quartz配置定时器#xff1a;基于spring的quartz框架 Scheduled注…常见实现方案 Scheduled注解基于注解Timer().schedule创建任务基于封装类Timer线程使用线程直接执行任务即可可以与thread、线程池、ScheduleTask等配合使用quartz配置定时器基于spring的quartz框架 Scheduled注解实现定时器 使用注解标记需要定时执行的方法并设置执行时间便可使其在指定的时间执行指定方法 步骤 使用注解Scheduled标记目标方法参数为执行时间使用注解EnableScheduling标记目标方法所在的类或者直接标记项目启动类 Scheduled(fixedDelay 5000)方法执行完成后等待5秒再次执行 Scheduled(fixedRate 5000)方法每隔5秒执行一次 Scheduled(initialDelay1000, fixedRate5000)延迟1秒后执行第一次之后每隔5秒执行一次 fixedDelayString、fixedRateString、initialDelayString与上诉三种作用一直但参数为字符串类型因而可以使用占位符形如Scheduled(fixedDelayString ${time.fixedDelay}) Scheduled(cron 0 0,30 0,8 ? * ? )方法在每天的8点30分0秒执行参数为字符串类型那么同理也可使用占位符 cron 该参数接收一个cron表达式cron表达式是一个字符串字符串以5或6个空格隔开分开共6或7个域[年]不是必须的域可以省略[年]则一共6个域 [秒] [分] [小时] [日] [月] [周] [年] 序号说明必填允许填写的值允许的通配符1秒是0-59, - * /2分是0-59, - * /3时是0-23, - * /4日是1-31, - * ? / L W5月是1-12 / JAN-DEC, - * /6周是1-7 or SUN-SAT, - * ? / L #7年否1970-2099, - * / 通配符说明: * 表示所有值。 例如:在分的字段上设置 *,表示每一分钟都会触发。? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作但不关心是周几所以需要周位置的那个字段设置为”?” 具体设置为 0 0 0 10 * ?- 表示区间。例如 在小时上设置 “10-12”,表示 10,11,12点都会触发。, 表示指定多个值例如在周字段上设置 “MON,WED,FRI” 表示周一周三和周五触发/ 用于递增触发。如在秒上面设置”5/15” 表示从5秒开始每增15秒触发(5,20,35,50)。 在日字段上设置’1/3’所示每月1号开始每隔三天触发一次。L 表示最后的意思。在日字段设置上表示当月的最后一天(依据当前月份如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六相当于”7”或”SAT”。如果在”L”前加上数字则表示该数据的最后一个。例如在周字段上设置”6L”这样的格式,则表示“本月最后一个星期五”W 表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上置”15W”表示离每月15号最近的那个工作日触发。如果15号正好是周六则找最近的周五(14号)触发, 如果15号是周未则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五)则就在该天触发。如果指定格式为 “1W”,它则表示每月1号往后最近的工作日触发。如果1号正是周六则将在3号下周一触发。(注”W”前只能设置具体的数字,不允许区间”-“)。# 序号(表示每月的第几个周几)例如在周字段上设置”6#3”表示在每月的第三个周六.注意如果指定”#5”,正好第五周没有周六则不会触发该配置(用在母亲节和父亲节再合适不过了) 小提示’L’和 ‘W’可以一组合使用。如果在日字段上设置”LW”,则表示在本月的最后一个工作日触发周字段的设置若使用英文字母是不区分大小写的即MON与mon相同。 示例 每隔5秒执行一次*/5 * * * * ? 每隔1分钟执行一次0 */1 * * * ? 每天23点执行一次0 0 23 * * ? 每天凌晨1点执行一次0 0 1 * * ? 每月1号凌晨1点执行一次0 0 1 1 * ? 每月最后一天23点执行一次0 0 23 L * ? 每周星期六凌晨1点实行一次0 0 1 ? * L 在26分、29分、33分执行一次0 26,29,33 * * * ? 每天的0点、13点、18点、21点都执行一次0 0 0,13,18,21 * * ? 使用占位符 另外cron属性接收的cron表达式支持占位符 配置文件 time:cron: */5 * * * * *interval: 5每5秒执行一次 Scheduled(cron${time.cron})void testPlaceholder1() {System.out.println(Execute at System.currentTimeMillis());}Scheduled(cron*/${time.interval} * * * * *)void testPlaceholder2() {System.out.println(Execute at System.currentTimeMillis());} 第一次等待10秒之后每3秒一次 Component EnableScheduling public class ScheduleTest {private int count 0;/*** 第一次等待10秒之后每3秒钟执行一次*/Scheduled(initialDelay 10000, fixedRate 3000)public void test1() {System.out.println(count (new Date()).toString());count;}} Timer().schedule实现定时器 核心包括Timer和TimerTask均为jkd自带的工具类 TimerTask实际上就是一个Runnable而已继承Runnable并添加了几个自定义的参数和方法 Timer字面意思即定时器为jkd自带的工具类提供定时执行任务的相关功能 实际上包括三个类 Timer即定时器主类负责管理所有的定时任务每个Timer拥有一个私有的TaskQueue和TimerThread TaskQueue即任务队列Timer生产任务然后推到TaskQueue里存放等待处理被处理掉的任务即被移除掉 TaskQueue实质上只有一个长度为128的数组用于存储TimerTask、一个int型变量size表示队列长度、以及对这两个数据的增删改查 TimerThread即定时器线程线程会共享TaskQueue里面的数据TimerThread会对TaskQueue里的任务进行消耗 TimerThread实际上就是一个Thread线程会不停的监听TaskQueue如果队列里面有任务那么就执行第一个并将其删除先删除再执行 流程分析 Timer生产任务实际上是从外部接收到任务并将任务推到TaskQueue里面存放并唤醒TaskQueue线程queue.notify() TimerThread监听TaskQueue若里面有任务则将其执行并移除队里若没有任务则让队列等待queue.wait() 构造 public Timer(String name, boolean isDaemon)name即线程名用于区分不同的线程缺省的时候默认使用Timer- serialNumber()生成唯一线程名isDaemon是否是守护线程缺省的时候默认为否 方法 schedule(TimerTask task, long delay)指定任务task在delay毫秒延迟后执行 schedule(TimerTask task, Date time)指定任务task在time时间点执行一次 schedule(TimerTask task, long delay, long period)指定任务task延迟delay毫秒后执行第一次并在之后每隔period毫秒执行一次 schedule(TimerTask task, Date firstTime, long period)指定任务task在firstTime的时候执行第一次之后每隔period毫秒执行一次 scheduleAtFixedRate(TimerTask task, long delay, long period)作用与schedule一致 scheduleAtFixedRate(TimerTask task, Date firstTime, long period)作用与schedule一致 实际上最后都会使用sched(TimerTask task, long time, long period)即指定任务task在time执行第一次之后每隔period毫秒执行一次 schedule使用系统时间计算下一次即System.currentTimeMillis()period 而scheduleAtFixedRate使用本次预计时间计算下一次即time period 对于耗时任务两者区别较大请按需求选择瞬时任务无区别 取消任务方法cancel()会将任务队列清空并堵塞线程且不再能够接受任务接受时报错并不会销毁本身的实例和其内部的线程 净化方法purge()净化会将队列里所有被取消的任务移除对剩余任务进行堆排序并返回移除任务的数量 Component public class TimerTest {private Integer count 0;public TimerTest() {testTimer();}public void testTimer() {new Timer().schedule(new TimerTask() {Overridepublic void run() {try {//do SomethingSystem.out.println(new Date().toString() : count);count;} catch (Exception e) {e.printStackTrace();}}}, 0, 1000);} } 线程实现定时器 使用thread runnable public class ThreadTest {private Integer count 0;public ThreadTest() {test1();}public void test1() {new Thread(() - {while (count 10) {System.out.println(new Date().toString() : count);count;try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}}).start();} } 使用线程池 runnable public class ThreadTest {private static final ExecutorService threadPool Executors.newFixedThreadPool(5);// 线程池private Integer count 0;public ThreadTest() {test2();}public void test2() {threadPool.execute(() - {while (count 10) {System.out.println(new Date().toString() : count);count;try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}});} } 使用org.springframework.scheduling.TaskScheduler runnable 设置触发频率为3000毫秒 Component public class ThreadTest {private Integer count 0;private final TaskScheduler taskScheduler;public ThreadTest(TaskScheduler taskScheduler) {this.taskScheduler taskScheduler;test3();}public void test3() {taskScheduler.scheduleAtFixedRate(() - {System.out.println(new Date().toString() : count);count;}, 3000);} } 设置触发时间为每天凌晨1点 Component public class ThreadTest {private Integer count 0;private final TaskScheduler taskScheduler;public ThreadTest(TaskScheduler taskScheduler) {this.taskScheduler taskScheduler;test4();}public void test4() {taskScheduler.schedule(() - {System.out.println(new Date().toString() : count);count;}, new CronTrigger(0 0 1 * * ?));} }
http://wiki.neutronadmin.com/news/325967/

相关文章:

  • 内部网站如何做南阳网站建设制作
  • 做公司网站要走哪些流程seo优化快速排名技术
  • 西宁网站建设索王道下拉用frontpage做网站
  • 专业建站推广企业导购网站如何做
  • 织梦协会网站模板企业网站内容策划
  • 潍坊网站建设电话下载字体如何在wordpress
  • 简易购物网站html代码网站获取访客
  • 无锡捷搜网站建设网站建设作品图片
  • 电商网站建站开发语言wordpress js广告
  • 做外贸如何访问国外网站广告中国第一
  • 徐州云龙城乡建设局网站什么网站可以做长图
  • 网站建设对企业的帮助flash 网站欣赏
  • 花卉市场网站建设基本步骤农业网站建设模板下载
  • 做淘宝客网站好搭建吗网站备案表
  • 网站设计与建设考试网站开发代码交接文档书
  • 亚马逊网站建设目的教育app定制开发
  • 电子商务网站的建设论文app首页设计模板
  • 网站怎么做别名下载百度app最新版到桌面
  • 一站式营销推广平台搜索引擎优化什么意思
  • wifi管理网站想要网站导航推广
  • 做网站seo赚钱吗wordpress生成纯html
  • 毕节做网站优化软件项目管理是什么
  • 上海网站改版方案wordpress问答站模板
  • 杭州科技公司网站建设网站有权重可以对title做更改
  • txt做网站如何加图片成都网站优化方法
  • 省市网站建设考核标准要求动漫设计培训机构哪里好
  • 图书馆网站建设方案查网课答案的网站怎么做
  • 安阳建设网站网页设计案例教程课后实训答案
  • 黑龙省建设厅网站首页有官网建手机网站吗
  • 建站 赚钱网页制作设计教程