scheduledThread 池和单线程执行器之间的区别。
javaobject oriented programmingprogramming更新于 2025/11/13 8:12:17
| Sr.否。 | 关键 | 计划线程池 | 单线程执行器 |
|---|---|---|---|
| 1 | 基本 | 创建一个线程池,可以安排命令在给定延迟后运行,或定期执行。 | 保证任务按顺序执行,并且在任何给定时间都不会有超过一个任务处于活动状态 |
| 2 | 队列 | 使用延迟队列来存储任务。根据时间延迟安排任务。 | 它使用阻塞队列。 |
| 3 | 线程生命周期 | 即使线程处于空闲状态,也要保留在池中的线程数 | 如果由于任务而被终止,则重新创建线程。 |
| 4. | 线程池大小 | 它始终有一个线程在运行。 | 线程池可以从零线程增长到 Integer.MAX_VALUE |
| 5. | 用例 | 当我们想要限制并发任务时,应该使用固定线程池 | 当您想确保 Task1 始终在 Task2 之前运行时,可以使用这种类型的池。 |
ScheduledThreadPool 示例
public class ScheduledThreadPoolExample {
public static void main(String args[]) {
ScheduledExecutorService services = Executors.newScheduledThreadPool(10);
services.schedule(new Task(), 10, TimeUnit.SECONDS);
services.scheduleAtFixedRate(new Task(), 15, 10, TimeUnit.SECONDS);
//(new Thread(new Main())).start();
}
}
public class Task implements Runnable {
@Override
public void run() {
System.out.println("In Run");
}
}
SingleThreadExecutor 示例
public class Main {
public static void main(String args[]) {
ExecutorService services = Executors.newSingleThreadExecutor();
Future<?> future = services.submit(new Task());
}
}
public class Task implements Runnable {
@Override
public void run() {
System.out.println("In Run");
}
}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

