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对这个问题进行了妥善的处理,不会影响其他任务的执行。

湖北22元/月(昔日数据)云服务器,国内湖北十堰云服务器,首月6折

昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...

ParkInHost - 俄罗斯VPS主机 抗投诉 55折,月付2.75欧元起

ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...

CloudCone月付$48,MC机房可小时付费

CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...

scheduleatfixedrate为你推荐
企业资源管理系统企业管理系统有哪些?oa办公系统下载OA在哪里下载?jstz举手望,草上马跑,打什么数字?asp大马黑帽seo的webshell中,什么是大马和小马assemblyinfocsgo很跟cs有什么区别天翼校园宽带中国电信校园宽带怎么样?微信智能机器人有没有可以拉进微信群的聊天机器人微信智能机器人有一个人加我微信,他说他自己是图灵机器人,我想问一下这是啥软件怎么可以自动回复微信?超级播放器一共有哪些播放器?activitygroupTabHost ActivityGroup里面activity里的webview是不是不支持一些JS比如 alert?
备案域名 域名查询工具 火山主机 hostgator 主机 秒解服务器 搬瓦工官网 私服服务器 idc测评网 韩国电信 42u标准机柜尺寸 免费静态空间 eq2 美国十次啦服务器 空间论坛 日本bb瘦 双11秒杀 上海服务器 爱奇艺会员免费试用 台湾google 更多