知识大全 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)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 JDK 5.0中的泛型类型学习

JDK5.0中的泛型类型学习  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JDK中增加的泛型类