Timer
| import java.util.Timer; |
| import java.util.TimerTask; |
| |
| |
| |
| |
| |
| public class TimerDemo { |
| public static void main(String[] args) { |
| |
| final Timer timer = new Timer(); |
| timer.schedule(new TimerTask() { |
| @Override |
| public void run() { |
| System.out.println(Thread.currentThread().getName() + "执行了一次"); |
| } |
| },3000,2000); |
| |
| |
| |
| } |
| } |
ScheduleExecutorService
ScheduleExecutorService是Jdk5引入的并发包,目的是弥补Timer的缺陷,内部使用了线程池。
| import java.util.TimerTask; |
| import java.util.concurrent.Executors; |
| import java.util.concurrent.ScheduledExecutorService; |
| import java.util.concurrent.TimeUnit; |
| |
| |
| |
| |
| |
| |
| public class ScheduleExecutorDemo { |
| public static void main(String[] args) { |
| final ScheduledExecutorService pool = Executors.newScheduledThreadPool(3); |
| pool.scheduleAtFixedRate(new TimerTask() { |
| @Override |
| public void run() { |
| System.out.println(Thread.currentThread().getName() + "输出"); |
| } |
| },0, 2, TimeUnit.SECONDS); |
| pool.schedule(new TimerTask() { |
| @Override |
| public void run() { |
| System.out.println(Thread.currentThread().getName() + "输出"); |
| } |
| }, 2, TimeUnit.SECONDS); |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架