scheduleatfixedrateTimer和ScheduledThreadPoolExecutor的区别

scheduleatfixedrate  时间:2021-05-30  阅读:()

怎么用java做个定时器,每个星期一中午十二点开始执行doXX这一动作?

String rule; if (args.length > 1) { rule = args[0]; } else { //每分钟都执行 rule = "0 * * * * ? *"; } 这个是每分钟执行的 你可以把正则表达式改了就行

怎样用java做个定时器,每个星期一中午12点整执行doXX这一动作。越详细越好.用监听哥跪谢!

主类: package tiwen4; import java.util.Calendar; import java.util.Timer; public class quartz { public static void main(String[] args) { try{ Calendar cal = Calendar.getInstance();//设置定时时间 cal.add(Calendar.DATE, 0);//表示从今天的12点开始跑起来,如果当前时间超过12点会马上跑一次,否则等12点再跑第一次 cal.set(Calendar.HOUR_OF_DAY, 12);//24小时制的,12就是中午12点 cal.set(Calendar.MINUTE, 0);//分 cal.set(Calendar.SECOND, 0);//秒 Timer processTimer = new Timer(); processTimer.scheduleAtFixedRate(new ProcessClass(), cal.getTime(), 86400000);//86400000是24小时,即24小时跑一次 }catch(Exception e){ e.printStackTrace(); }finally{ } } } 定时器调用的类--我在这里只是输出了一下~你也可以自己加函数: package tiwen4; import java.util.TimerTask; public class ProcessClass extends TimerTask { @Override public void run() { // TODO Auto-generated method stub System.out.println("输出了哈哈");// } } 我上面用的只是一种方式,其实定时方式有很多的linux和window都有自带的定时器,可以直接调用,也可以用上面所说的quartz包带的框架等等

Timer和ScheduledThreadPoolExecutor的区别

Timer的主要方法有: // 安排在指定的时间执行 void schedule(TimerTask task, Date time) // 安排在指定的时间开始以重复的延时执行 void schedule(TimerTask task, Date firstTime, long period) // 安排在指定的延迟后执行 void schedule(TimerTask task, long delay) // 安排在指定的延迟后开始以重复的延时执行 void schedule(TimerTask task, long delay, long period) // 安排在指定的时间开始以重复的速率执行 void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) // 安排在指定的延迟后开始以重复的速率执行 void scheduleAtFixedRate(TimerTask task, long delay, long period) 注:重复的延时和重复的速率的区别在于,前者是在前一个任务的执行结束后间隔period时间再开始下一次执行;而scheduleAtFixedRate则是会尽量按照任务的初始时间来按照间隔period时间执行。

如果一次任务执行由于某些原因被延迟了,用schedule()调度的后续任务同样也会被延迟,而用scheduleAtFixedRate()则会快速的开始两次或者多次执行,是后续任务的执行时间能够赶上来。

ScheduledThreadPoolExecutor的主要方法: // 在指定的延迟后执行 <V>ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit) // 在指定的延迟后执行 ScheduledFuture<?> schedule(mand, long delay, TimeUnit unit) // 在指定的延迟后以固定速率执行(类似Timer.scheduleAtFixedRate()) ScheduledFuture<?> scheduleAtFixedRate(mand, long initialDelay, long period, TimeUnit unit) // 在指定的延迟后以固定间隔执行(类似Timer.schedule()) ScheduledFuture<?> scheduleWithFixedDelay(mand, long initialDelay, long delay, TimeUnit unit) 比较: ·Timer对调度的支持是基于绝对时间的,因此任务对系统时间的改变是敏感的;而ScheduledThreadPoolExecutor支持相对时间。

·Timer使用单线程方式来执行所有的TimerTask,如果某个TimerTask很耗时则会影响到其他TimerTask的执行;而ScheduledThreadPoolExecutor则可以构造一个固定大小的线程池来执行任务。

·Timer不会捕获由TimerTask抛出的未检查异常,故当有异常抛出时,Timer会终止,导致未执行完的TimerTask不再执行,新的TimerTask也不能被调度;ScheduledThreadPoolExecutor对这个问题进行了妥善的处理,不会影响其他任务的执行。

CloudCone,美国洛杉矶独立服务器特价优惠,美国洛杉矶MC机房,100Mbps带宽不限流量,可选G口,E3-1270 v2处理器32G内存1Gbps带宽,69美元/月

今天CloudCone发布了最新的消息,推送了几款特价独立服务器/杜甫产品,美国洛杉矶MC机房,分配100Mbps带宽不限流量,可以选择G口限制流量计划方案,存储分配的比较大,选择HDD硬盘的话2TB起,MC机房到大陆地区线路还不错,有需要美国特价独立服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2...

舍利云30元/月起;美国CERA云服务器,原生ip,低至28元/月起

目前舍利云服务器的主要特色是适合seo和建站,性价比方面非常不错,舍利云的产品以BGP线路速度优质稳定而著称,对于产品的线路和带宽有着极其严格的讲究,这主要表现在其对母鸡的超售有严格的管控,与此同时舍利云也尽心尽力为用户提供完美服务。目前,香港cn2云服务器,5M/10M带宽,价格低至30元/月,可试用1天;;美国cera云服务器,原生ip,低至28元/月起。一、香港CN2云服务器香港CN2精品线...

香港 1核 1G 5M 22元/月 美国 1核 512M 15M 19.36元/月 轻云互联

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。官方网站:点击进入广州轻云网络科技有限公司活动规则:用户购买任...

scheduleatfixedrate为你推荐
tdetde在国际贸易中的用词代表什么意思应用雷达雷达有什么用途模式识别算法算法是编程么?考研学模式识别方向,编程多么?天翼校园宽带天翼校园宽带 是怎么算时间的 一个月 是指从办理那天开始 往后 30天是一个月吗 还是 办理的那天所在的那个单元测试规范如何做好小学数学单元测试工作腾讯贴吧腾讯论坛里找自己发的帖pmp格式PMP的格式web推送WEB订单管理系统私服发布站程序怎么开一个私服发布网站?鸿道集团不是说收回了商标权了吗?为什么红罐王老吉还有“王老吉”三个字?红罐不是属于鸿道公司的么?
北京网站空间 星星海 justhost themeforest 美国主机论坛 gspeed 昆明蜗牛家 免费私人服务器 1元域名 阿里云官方网站 vul 登陆qq空间 网站加速 乐视会员免费领取 netvigator 广东服务器托管 SmartAXMT800 机柜尺寸 西部主机 blaze 更多