线程池的7种创建方式,强烈推荐你用它...(4)

简介: 线程池的7种创建方式,强烈推荐你用它...(4)

4.ScheduledThreadPool


创建一个可以执行延迟任务的线程池。


使用示例如下:


public static void scheduledThreadPool() {
    // 创建线程池
    ScheduledExecutorService threadPool = Executors.newScheduledThreadPool(5);
    // 添加定时执行任务(1s 后执行)
    System.out.println("添加任务,时间:" + new Date());
    threadPool.schedule(() -> {
        System.out.println("任务被执行,时间:" + new Date());
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
        }
    }, 1, TimeUnit.SECONDS);
}


执行结果如下:


微信图片_20220120145706.jpg


从上述结果可以看出,任务在 1 秒之后被执行了,符合我们的预期。


5.SingleThreadScheduledExecutor


创建一个单线程的可以执行延迟任务的线程池。


使用示例如下:


public static void SingleThreadScheduledExecutor() {
    // 创建线程池
    ScheduledExecutorService threadPool = Executors.newSingleThreadScheduledExecutor();
    // 添加定时执行任务(2s 后执行)
    System.out.println("添加任务,时间:" + new Date());
    threadPool.schedule(() -> {
        System.out.println("任务被执行,时间:" + new Date());
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
        }
    }, 2, TimeUnit.SECONDS);
}


执行结果如下:


微信图片_20220120145737.jpg


从上述结果可以看出,任务在 2 秒之后被执行了,符合我们的预期。

相关文章
|
5月前
|
Java C#
C#学习系列相关之多线程(五)----线程池ThreadPool用法
C#学习系列相关之多线程(五)----线程池ThreadPool用法
|
5月前
|
Java 数据库
线程池的原理和基本使用~
线程池的原理和基本使用~
|
缓存 Java
线程池的类型有哪些?适用场景?第二篇
线程池的类型有哪些?适用场景?第二篇
76 0
|
缓存 并行计算 算法
【CUDA学习笔记】第四篇:线程以及线程同步(附案例代码下载方式)(二)
【CUDA学习笔记】第四篇:线程以及线程同步(附案例代码下载方式)(二)
304 0
|
存储 缓存 并行计算
【CUDA学习笔记】第四篇:线程以及线程同步(附案例代码下载方式)(一)
【CUDA学习笔记】第四篇:线程以及线程同步(附案例代码下载方式)(一)
559 0
|
Java
并发编程(十一)自定义线程池
并发编程(十一)自定义线程池
94 0
|
编译器 Go 开发者
包使用注意事项和细节(1)|学习笔记
快速学习包使用注意事项和细节(1)
118 0
包使用注意事项和细节(1)|学习笔记
多线程顺序运行的 4 种方法,面试随便问!
多线程顺序运行的 4 种方法,面试随便问!
232 0
|
Java
线程池的7种创建方式,强烈推荐你用它...(7)
线程池的7种创建方式,强烈推荐你用它...(7)
83 0
线程池的7种创建方式,强烈推荐你用它...(7)
|
缓存 Java
线程池的7种创建方式,强烈推荐你用它...(2)
线程池的7种创建方式,强烈推荐你用它...(2)
104 0
线程池的7种创建方式,强烈推荐你用它...(2)