ScheduledThreadPoolExecutor实现定时器和延时加载功能

2020-12-25 11:35:36 浏览数 (2)

java.util.concurrent.ScheduledThreadPoolExecutor 是 JDK1 .6之后自带的 包,功能强大,能实现定时器和延时加载的功能

各类功能和处理方面优于Timer

1、定时器:

ScheduledThreadPoolExecutor 有个scheduleAtFixedRate(command, initialDelay, period, unit) ;方法

command: 执行的线程(可自己New一个)

initialDelay:初始化执行的延时时间

period: 时间间隔

unit : 时间类型(如TimeUnit.SECONDS: 秒的方式执行 , TimeUnit.DAYS : 天数的方式执行)

具体代码:

代码语言:javascript复制
	public static void main(String[] args) {
		stThread.scheduleAtFixedRate(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				System.out.println(new Date());
			}
		},
				20, 2, TimeUnit.SECONDS);
	}

2、延时处理

ScheduledThreadPoolExecutor 有个 schedule(callable, delay, unit) ; 方法

callable:回调方法

delay:延时时间

unit:时间类型 , 同定时器的unit一样

具体代码:

代码语言:javascript复制
stThread.schedule((RolePrvlegeTask)SpringUtils.getBean("rolePrvlegeTask"), 1, TimeUnit.SECONDS);

0 人点赞