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

网站代运营公司有哪些传奇游戏平台

网站代运营公司有哪些,传奇游戏平台,营销 推广,wordpress二级页面菜单一、简介 定时器#xff08;Timer#xff09;是一个工具类#xff0c;用于安排任务#xff08;java.util.TimerTask#xff09;在指定时间后执行或以指定的时间间隔重复执行。它可以用于执行定时任务、定时调度和时间延迟等操作。 定时器#xff08;Timer#xff09;可以… 一、简介 定时器Timer是一个工具类用于安排任务java.util.TimerTask在指定时间后执行或以指定的时间间隔重复执行。它可以用于执行定时任务、定时调度和时间延迟等操作。 定时器Timer可以应用于许多场景比如 调度任务固定速率当你需要按照预定时间执行任务时可以使用定时器。例如每天凌晨执行数据备份、定时生成报表、定时发送通知等。即scheduleAtFixedRate的2个重载方法。 超时处理固定延迟当你需要处理某个操作的超时情况时可以使用定时器。例如设置一个操作的超时时间如果在规定时间内未完成则执行相应的超时处理逻辑。即schedule的4个重载方法。 Java中的定时器java.util.Timer它的常用方法 Java 8 中文版 - 在线API手册 - 码工具 Modifier and Type Method and Description 参数说明 void cancel() 终止此计时器丢弃任何当前计划的任务。 / int purge() 从该计时器的任务队列中删除所有取消的任务。 / void schedule(TimerTask task, Date time) 在指定的时间安排指定的任务执行。如果此时间已过去则安排立即执行该任务 task:要调度的任务 time:执行任务的时间 void schedule(TimerTask task, Date firstTime, long period) 从指定 的时间开始 对指定的任务执行重复的 固定延迟执行 。 task:要调度的任务 firstTime:第一次执行任务的时间 period:连续任务以毫秒为单位的时间间隔 void schedule(TimerTask task, long delay) 在指定的延迟之后安排指定的任务执行。 task:要调度的任务 delay:在执行任务之前以毫秒为单位进行延迟的时间 void schedule(TimerTask task, long delay, long period) 在指定 的延迟之后开始 重新执行 固定延迟执行的指定任务。 task:要调度的任务 delay:在执行任务之前以毫秒为单位进行延迟的时间 period:连续任务以毫秒为单位的时间间隔 void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 从指定的时间 开始 对指定的任务执行重复的 固定速率执行 。 task:要调度的任务 firstTime:第一次执行任务的时间 period:连续任务以毫秒为单位的时间间隔 void scheduleAtFixedRate(TimerTask task, long delay, long period) 在指定的延迟之后 开始 重新执行 固定速率的指定任务。 task:要调度的任务 delay:在执行任务之前以毫秒为单位进行延迟的时间 period:连续任务以毫秒为单位的时间间隔 二、schedule和scheduleAtFixedRate方法的区别 这两个方法都是任务调度方法他们之间区别是schedule会保证任务的间隔是按照定义的period参数严格执行的如果某一次调度时间比较长那么后面的时间会顺延保证调度间隔都是period,而scheduleAtFixedRate是严格按照调度时间来的如果某次调度时间太长了那么会通过缩短间隔的方式保证下一次调度在预定时间执行。举个栗子你每个3秒调度一次那么正常就是0,3,6,9s这样的时间如果第二次调度花了2s的时间如果是schedule就会变成0,32,8,11这样的时间保证间隔而scheduleAtFixedRate就会变成0,32,6,9压缩间隔保证调度时间。 三、定时器Timer使用步骤 我们要实现一个定时任务只需要实现TimerTask的run方法即可。每一个任务都有下一次执行时间nextExecutionTime毫秒如果是周期性的任务那么每次执行都会更新这个时间为下一次的执行时间当nextExecutionTime小于当前时间时都会执行它。 1第一步创建一个Timer。 2第二步创建一个TimerTask。 3第三步使用Timer执行TimerTask。 其中第三步无疑是我们目前最关心的也就是timer.schedule(myTask, 2000L, 1000L)。他的意思是myTask在两秒钟之后开始第一次执行然后每隔一秒执行一次。这只是最基本的用法。就体现了Timer定时执行的流程。 示例1超时处理固定延迟 在2秒后开始执行只执行一次 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask;public class TimeTest {public static void main(String[] args) {System.out.println(当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));Timer timer new Timer(); // 1第一步创建一个Timer。timer.schedule(new TimerTask() { // 2第二步创建一个TimerTask。3第三步使用Timer执行TimerTask。Overridepublic void run() {System.out.println(Timer is running);System.out.println(当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));}}, 2000);} } 运行结果 当前时间:2023-08-19 22-45-46:161 Timer is running 当前时间:2023-08-19 22-45-48:169 示例2调度任务固定速率 执行周期性任务只需要添加schedule的第三个参数period。 在2秒后开始执行每隔1秒执行一次 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask;public class TimeTest {public static void main(String[] args) {System.out.println(当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));Timer timer new Timer(); // 1第一步创建一个Timer。timer.schedule(new TimerTask() { // 2第二步创建一个TimerTask。3第三步使用Timer执行TimerTask。Overridepublic void run() {System.out.println(Timer is running);System.out.println(当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));}}, 2000, 1000);} } 运行结果 当前时间:2023-08-19 22-48-10:190 Timer is running 当前时间:2023-08-19 22-48-12:200 Timer is running 当前时间:2023-08-19 22-48-13:203 Timer is running 当前时间:2023-08-19 22-48-14:216 示例32个Timer实例调度任务固定速率 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask;public class TimeTest {public static void main(String[] args) {System.out.println(timer当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));Timer timer new Timer(); // 1第一步创建一个Timer。timer.schedule(new TimerTask() { // 2第二步创建一个TimerTask。3第三步使用Timer执行TimerTask。Overridepublic void run() {System.out.println(Timer is running);System.out.println(timer当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));}}, 2000, 1000);System.out.println(timer2当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));Timer timer2 new Timer(); // 1第一步创建一个Timer。timer2.schedule(new TimerTask() { // 2第二步创建一个TimerTask。3第三步使用Timer执行TimerTask。Overridepublic void run() {System.out.println(Timer2 is running);System.out.println(timer2当前时间: new SimpleDateFormat(yyyy-MM-dd HH-mm-ss:SSS).format(new Date()));}}, 3000, 2000);} }运行结果 timer当前时间:2023-08-20 00-08-06:746 timer2当前时间:2023-08-20 00-08-06:748 Timer is running timer当前时间:2023-08-20 00-08-08:750 Timer is running Timer2 is running timer2当前时间:2023-08-20 00-08-09:755 timer当前时间:2023-08-20 00-08-09:755 Timer is running timer当前时间:2023-08-20 00-08-10:769 Timer2 is running timer2当前时间:2023-08-20 00-08-11:768 Timer is running timer当前时间:2023-08-20 00-08-11:784 Timer is running timer当前时间:2023-08-20 00-08-12:787 Timer2 is running timer2当前时间:2023-08-20 00-08-13:770 四、Timer的缺陷 1、由于执行任务的线程只有一个所以如果某个任务的执行时间过长那么将破坏其他任务的定时精确性。如一个任务每1秒执行一次而另一个任务执行一次需要5秒那么如果是固定速率的任务那么会在5秒这个任务执行完成后连续执行5次而固定延迟的任务将丢失4次执行。 2、如果执行某个任务过程中抛出了异常那么执行线程将会终止导致Timer中的其他任务也不能再执行。 3、Timer使用的是绝对时间即是某个时间点所以它执行依赖系统的时间如果系统时间修改了的话将导致任务可能不会被执行。 五、更好的替代方法 由于Timer存在上面说的这些缺陷在JDK1.5中我们可以使用ScheduledThreadPoolExecutor来代替它使用Executors.newScheduledThreadPool工厂方法或使用ScheduledThreadPoolExecutor的构造函数来创建定时任务它是基于线程池的实现不会存在Timer存在的上述问题当线程数量为1时它相当于Timer。
http://www.hkea.cn/news/14406536/

相关文章:

  • 网站建设大作业提交要求广州花都网页设计
  • 免费图纸网站硬件开发
  • 招聘代做网站做网站免费送域名
  • 如何让网站互动起来个人网站建设基本教程
  • 惠州专业网站设计公司下载的网站模板怎么修改
  • 工信部域名备案查询网站制作优化
  • 网站访问量大怎么制作网站地图
  • 做查工资的网站软件界面设计文档
  • 跨境电商自建站是什么无锡建网站价格
  • 网站建设 事迹上海网站建设 百家号
  • 网站建设丨找王科杰信誉中国建筑集团有限公司校园招聘
  • 北京网站建设公司司可以直接进入网站的正能量没封的
  • 玩具 东莞网站建设 技术支持网页设计项目教程
  • 套模板做网站教程无锡软件网站开发公司
  • 网站系统开发团队简介静安网站建设关键词优化seo
  • 汕头网站建设搭建南昌网站建设公司效果
  • 大学生做推送的网站带会员注册企业网站源码
  • 怎样把网站上传到空间外贸商城网站资质
  • 重庆涪陵网站设计公司推荐郑州制作网页的公司
  • 网站首页怎么做营业执照链接格子铺网站建设方案
  • 用html5做网站百度经验江苏省内网站建设
  • 天津网站推广网站功能需求怎么写
  • 某网站突然不能浏览了网页图片怎么下载
  • 网站多久会被百度收录开发小程序和app开发哪个贵
  • 做网站还赚钱么wordpress获取站点链接
  • 东城精锐传媒专注于各类网站建设刀模 东莞网站建设
  • 网站站点规划实例黄山5个最佳景点
  • 做搜狗手机网站长尾网站域名区别
  • 个人网站可以做资讯吗亿创电力建设集团有限公司网站
  • 龙岩市住房和城乡建设局网站腾讯云做的网站会被拦截么