知识大全 JDK5 java.util.concurrent 线程池[2]
Posted 知
篇首语:虽然狠努力,练习着忘记,我的心却还没答应可以放弃了沵。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JDK5 java.util.concurrent 线程池[2]相关的知识,希望对你有一定的参考价值。
JDK5 java.util.concurrent 线程池[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
需要注意的是线程池必须使用shutdown来显式关闭 否则主线程就无法退出 shutdown也不会阻塞主线程
许多长时间运行的应用有时候需要定时运行任务完成一些诸如统计 优化等工作 比如在电信行业中处理用户话单时 需要每隔 分钟处理话单 网站每天凌晨统计用户访问量 用户数 大型超时凌晨 点统计当天销售额 以及最热卖的商品 每周日进行数据库备份 公司每个月的 号计算工资并进行转帐等 这些都是定时任务 通过 java的并发库concurrent可以轻松的完成这些任务 而且非常的简单
packageconcurrent; importstaticjava util concurrent TimeUnit SECONDS; importjava util Date; importjava util concurrent Executors; importjava util concurrent ScheduledExecutorService; importjava util concurrent ScheduledFuture; publicclassTestScheduledThread publicstaticvoidmain(String[]args) finalScheduledExecutorServicescheduler=Executors newScheduledThreadPool( ); finalRunnablebeeper=newRunnable() intcount= ; publicvoidrun() System out println(newDate()+ beep +(++count)); ; // 秒钟后运行 并每隔 秒运行一次 finalScheduledFuture<?>beeperHandle=scheduler scheduleAtFixedRate( beeper SECONDS); // 秒钟后运行 并每次在上次任务运行完后等待 秒后重新运行 finalScheduledFuture<?>beeperHandle =scheduler scheduleWithFixedDelay(beeper SECONDS); // 秒后结束关闭任务 并且关闭Scheduler scheduler schedule(newRunnable() publicvoidrun() beeperHandle cancel(true); beeperHandle cancel(true); scheduler shutdown(); SECONDS);
为了退出进程 上面的代码中加入了关闭Scheduler的操作 而对于 小时运行的应用而言 是没有必要关闭Scheduler的
cha138/Article/program/Java/gj/201311/27714相关参考
知识大全 JDK5 java.util.concurrent 线程池[1]
JDK5java.util.concurrent线程池[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
JDK5.0中的泛型类型学习 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JDK中增加的泛型类