您的位置:首页 > 其它

任务调度线程池

2017-10-17 21:45 225 查看

1、上代码:

public class ScheduledExecutorServiceDeom {

public static void main(String[] args) {
ScheduledExecutorService ses = Executors.newScheduledThreadPool(10);
ses.scheduleAtFixedRate(new Runnable() {

public void run() {
try {
Thread.sleep(1000);
System.out.println(System.currentTimeMillis()/1000);
} catch(Exception e) {
e.printStackTrace();
}
}

}, 0, 2, TimeUnit.SECONDS);
}
}

2、结果:

1508247401
1508247403
1508247405
1508247407
1508247409
1508247411
1508247413
1508247415

3、参看手册:

public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
创建一个线程池,可以调度命令在一个给定的延迟后运行,或周期性地执行。
参数
corePoolSize -线程的数量保持在游泳池里,即使他们是空闲的
结果
一个新创建的调度线程池
异常
如果 corePoolSize < 0 IllegalArgumentException

按照这种形式,可以创建以2秒为周期的任务调度。

Reference:

[1] 葛一鸣 郭超, 实战Java高并发程序设计,中国工信出版社 电子工业出版社, 2015:100-102
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: