通过Executors创建定时任务
相对时间的计算:
long period = new Date("2014-10-1").getTime - System.getCurrentTimeMills
package thread; import java.util.Date; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; /** * 创建定时任务 * */ public class Concurrent_Schedule { public static void main(String[] args) { ScheduledExecutorService schedualedExecutor = Executors.newScheduledThreadPool(2); //延迟多长时间后自动执行任务,只执行1次 schedualedExecutor.schedule(new Runnable() { public void run() { System.out.println(Thread.currentThread().getName() + ", 3秒后执行定时任务!" + new Date()); } }, 3, TimeUnit.SECONDS); //延迟多长时间后自动执行任务,接着每隔多长时间调度1次,调度工作会一直进行 schedualedExecutor.scheduleAtFixedRate(new Runnable() { public void run() { System.out.println(Thread.currentThread().getName() + ", 1秒后执行定时任务,接着每隔2秒执行1次!" + new Date()); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } }, 1, 2, TimeUnit.SECONDS); //延迟多长时间后自动执行任务,待该线程执行任务结束后,在隔多长时间调度1次,调度工作会一直进行 schedualedExecutor.scheduleWithFixedDelay(new Runnable() { public void run() { System.out.println(Thread.currentThread().getName() + ", 1秒后执行定时任务,当前一个任务执行完成后,再每隔2秒执行1次!" + new Date()); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } }, 1, 2, TimeUnit.SECONDS); //when server shutdown //schedualedExecutor.shutdown(); } }
相关推荐
Java中Executors类中几种创建各类型线程池方法及简单实例
Executors一共可以创建下面这四类线程池: 1.newFixedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。`` 2.newFixedThreadPool 创建一个定长线程池,...
线程池 Executors
Java并发编程中使用Executors类创建和管理线程的用法共4页.pdf.zip
【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。 说明:Executors返回的线程池对象的弊端如下: 1) ...
java Executors 使用实例 concurrent.ExecutorService
Java多线程实现数据切割批量执行,实现限流操作。 java线程池Executors实现数据批量操作。 批量异步Executors处理数据,实现限流操作,QPS限流。...3任务数据异步执行。 4.多线程请求第三方接口限流。
主要介绍了Java并发编程中使用Executors类创建和管理线程的用法,文中举了用其启动线程和设置线程优先级的例子,需要的朋友可以参考下
顶层接口Executors详解
NULL 博文链接:https://bijian1013.iteye.com/blog/2284676
C++ library for executors
APScheduler 支持三种调度任务:固定时间间隔,固定时间点... 执行器 executors:用于执行任务,可设定执行模式 将指定的作业提交到线程池或者进程池中运行,任务完成通知调度器触发相应的事件。 调度器 scheduler
5_Executors源码阅读1
Executors类的基本用法 2.1 创建线程池 2.2 提交任务 2.3 关闭线程池 线程池的分类 3.1 FixedThreadPool 3.2 CachedThreadPool 3.3 ScheduledThreadPool 3.4 SingleThreadExecutor 3.5 WorkStealingPool 线程池的...
用法将此添加到您的Cargo.toml : [ dependencies ]executors = " 0.9 " 您可以使用,例如, 安排一些n_jobs在多个n_workers线程,并通过收集结果mpsc::channel 。 use executors :: * ;use executors :: crossbeam_...
java 线程池管理类:Executors_.docx
Executor: 一个接口,其定义了一个接收Runnable对象的方法executor,其方法签名为executor(Runnable command),该方法接收一个Runable实例,它用来执行一个任务,任务即一个实现了Runnable接口的类,一般来说,...
MaximunPoolSize: 线程池能创建最大的线程数量, 如果核心线程池和缓冲队列都已经满了, 新的任务就会进来创建新的线程来执行, 但是数量不能超过maximunPoolSize, 否则采取拒绝接受任务策略 KeepAliveTime: 非核心...
Java并发编程常见知识点源码集锦,涉及到对象锁,Executors多任务线程框架,线程池等示例,列出一些源码包中包括的内容: volatile关键字的非原子性、volatile关键字的使用、AtomicInteger原子性操作、线程安全小...
而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()等创建线程池的方法,...