privateScheduledExecutorServicescheduledExecutorService;scheduledExecutorService=Executors.newSingleThreadScheduledExecutor();scheduledExecutorService.scheduleAtFixedRate(newTask(),1,4,TimeUnit.SECONDS);//4s一次延迟1stask执行的一步任务scheduledExecutorService.shutdown();//停止任务

new task 实现 runable接口;

Timer存在一些缺陷:

1Timer对调度的支持是基于绝对时间,而不是相对时间的,由此任务对系统时钟的改变是敏感的;ScheduledThreadExecutor只支持相对时间。

2,如果TimerTask抛出未检查的异常,Timer将会产生无法预料的行为。Timer线程并不捕获异常,所以TimerTask抛出的未检查的异常会终止timer线程。此时,已经被安排但尚未执行的TimerTask永远不会再执行了,新的任务也不能被调度了。


更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android学习笔记-Activity的生命周期
  3. Android使用线程做开始暂停
  4. android-使用AsyncTask做下载进度条
  5. AsyncTask 源码解析
  6. handle.post 跳到主线程中执行
  7. Android(安卓)应用程序执行Shell命令
  8. Android(安卓)4.1打开相机(自己写的压力测试APK)
  9. Android(安卓)Data Analyse(4)--StateMachine

随机推荐

  1. Facebook SDK接入注意事项(Android)
  2. Android Memory Tracker原理分析
  3. Android——弹出提示框
  4. Android(安卓)RadioGroup和RadioButton控
  5. android P限制http连接
  6. Android如何实现图片轮播
  7. android 版本更新 同时清除旧版本数据
  8. Android(安卓)Permission大全1.0最终版本
  9. android sdk manager不显示更新,只显示已
  10. Android Handler(一)