ScheduledExecutorService线程调度的使用

star2017 1年前 ⋅ 1949 阅读

说明:调度线程池使用的方式是:Executors.newScheduledThreadPool()的方式来实例化

调度线程池在调用的时候,使用schedule()的方法来调用,需要传入三个参数,第一个为Callable或者Runnable,第二个为时间的数量,第三个为时间的单位,
实现的效果就是在某个数量的时间之后执行该线程

示例代码:

package com.debuggg.test1.main2;

import java.util.Random;
import java.util.concurrent.*;

public class TestScheduledThreadPool {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        ScheduledExecutorService executorService = Executors.newScheduledThreadPool(5);

        for (int i = 0; i < 10; i++) {
            ScheduledFuture<Integer> future = executorService.schedule(() -> {
                System.out.println(Thread.currentThread().getName());
                return new Random().nextInt(100);
            }, 3, TimeUnit.SECONDS);

            System.out.println(future.get());
        }

        executorService.shutdown();
    }
}
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: