接口scheduleAtFixedRate原型定义及参数说明:
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit);
command:执行线程
initialDelay:初始化延时
period:两次开始执行最小间隔时间
unit:计时单位
接口scheduleWithFixedDelay原型定义及参数说明:
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit);
代码示例:
ScheduledExecutorService mExecutorService; ScheduledFuture mFuture1, mFuture2; private void executScheduledExecutorService() { mExecutorService = Executors.newScheduledThreadPool(1); mFuture1 = mExecutorService.scheduleAtFixedRate(new EchoServer(), 1000, 1000, TimeUnit.MILLISECONDS); mExecutorService.schedule(new Runnable() { @Override public void run() { // TODO Auto-generated method stub Log.i("W", "shut down."); mExecutorService.shutdownNow(); } }, 40, TimeUnit.SECONDS); } class EchoServer implements Runnable { @Override public void run() { // TODO Auto-generated method stub a++; Log.i("W", "a = " + a); if (a == 10) { mFuture1.cancel(false); } if (a == 2) { mFuture2 = mExecutorService.scheduleAtFixedRate(new EchorServer(), 1000, 2000, TimeUnit.MILLISECONDS); } } } class EchorServer implements Runnable { @Override public void run() { // TODO Auto-generated method stub b++; Log.i("W", "b = " + b); if (b == 15) { mFuture2.cancel(false); } } }
@Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if (mExecutorService != null) { mExecutorService.shutdownNow(); } }
相关推荐
主要介绍了ScheduledExecutorService任务定时代码示例,具有一定借鉴价值,需要的朋友可以参考下
您可以在工作线程上运行任务(Runnable或Callable),以指定执行计划(如ScheduledExecutorService),并指定执行时间。 介面 ScheduledFuture<?> schedule( Runnable command, int executeTime, long delay,...
ScheduledExecutorService 计时器任务处理,用于超时处理。
工作中常常会有定时任务的开发需求,特别是移动端。最近笔者正好有所涉及,鉴于此,结合开发中的案例说明一下几种定时任务的 退出 。 需求说明 :定时更新正在生成的文件大小和状态【进行中、失败、完成】,如果...
Springmvc java注解设置定时任务实例,利用 ScheduledExecutorService 接口实现
定时器小例子,这是一个经较好定时器应用
Java通用任务执行程序,基于java.util.concurrent.ScheduledExecutorService。 Java通用的任务执行器,基于java.util.concurrent.ScheduledExecutorService工具类实现。 Maven: <groupId>...
这是一个jar,很秀。自定义的一个Java定时器工具类。主要是结合Spring Boot一起使用,并在Spring Boot启动的时候一起启动运行。
1.普通thread实现 2.TimerTask实现 3.ScheduledExecutorService实现
如果线程的数量未达到指定数量, 则创建新线程执行任务. 如果线程池的数量达到了指定数量, 而且此时有线程是空闲的, 则取出空闲线程来执行任务. 如果没有线程是空闲的, 则将任务缓冲到队列, 当线程空闲的时候, 按照...
下面小编就为大家带来一篇基于ScheduledExecutorService的两种方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
线程池执行者 ThreadPoolExecutor,定时执行者服务 ScheduledExecutorService, 使用 ForkJoinPool 进行分叉和合并,锁 Lock,读写锁 ReadWriteLock 原子性长整型 AtomicLong,原子性引用型 AtomicReference 修改数据:...
18. 定时执行者服务 ScheduledExecutorService 19. 使用 ForkJoinPool 进行分叉和合并 20. 锁 Lock 21. 读写锁 ReadWriteLock 22. 原子性布尔 AtomicBoolean 23. 原子性整型 AtomicInteger 24. 原子性长整型 ...
一. 延时消息 延时消息是指消息被发送以后,并不想让消费者立即拿到消息,而是... 基于 Quartz 的定时任务 基于 Redis 的 zset 实现延时队列。 除此之外,还可以使用消息队列来实现延时消息,例如 RocketMQ。 二. Ro
18. 定时执行者服务 ScheduledExecutorService 19. 使用 ForkJoinPool 进行分叉和合并 20. 锁 Lock 21. 读写锁 ReadWriteLock 22. 原子性布尔 AtomicBoolean 23. 原子性整型 AtomicInteger 24. 原子性长整型 ...
定时执行者服务 ScheduledExecutorService 19. 使用 ForkJoinPool 进行分叉和合并 20. 锁 Lock 21. 读写锁 ReadWriteLock 22. 原子性布尔 AtomicBoolean 23. 原子性整型 AtomicInteger 24. 原子性长整型 AtomicLong...
springMVC配置、注解、列子
串行执行器服务 ScheduledExecutorService 的测试实用程序实现 允许测试如下代码: class Foo { private int count = 0; public Foo(ScheduledExecutorService service, Bar bar) { service....
在Java 5.0之前启动一个任务是通过调用Thread类的start()方法来实现的,任务的提于交和执行是同时进行的,如果你想对任务的执行进行调度或是控制 同时执行的线程数量就需要额外编写代码来完成。5.0里提供了一个新的...
18. 定时执行者服务 ScheduledExecutorService 19. 使用 ForkJoinPool 进行分叉和合并 20. 锁 Lock 21. 读写锁 ReadWriteLock 22. 原子性布尔 AtomicBoolean 23. 原子性整型 AtomicInteger 24. 原子性长整型 ...