java - 将 ThreadFactory 传递给 ScheduledThreadPoolExecutor

标签 java multithreading threadpool scheduling

ScheduledThreadPoolExecutor 的构造函数之一允许我将 ThreadFactory 传递给它。

这有点奇怪,因为我已经在处理线程池了!这意味着它知道如何管理线程生命周期。

在我看来,这看起来像是策略模式,允许我在维护它提供的调度服务的同时覆盖线程创建的逻辑。

  1. 我做对了吗?
  2. Java 中内置的 ThreadFactories 是什么?

谢谢!

最佳答案

ThreadFactory 通常用作工厂模式来详细说明创建线程的方式。

一个典型的用例是逻辑地命名您的线程。

public WorkerThreadFactory implements ThreadFactory {
   private int counter = 0;

   public Thread newThread(Runnable r) {
     return new Thread(r, "Worker" + "-" + count++);
   }
}

This是一个非常详尽的用例列表。

ThreadFactory 的内置实现是 Executors.defaultThreadFactory()

These是它被使用的地方。

关于java - 将 ThreadFactory 传递给 ScheduledThreadPoolExecutor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823090/

相关文章:

java - Java : error: “)” expected [closed]

java - 有人在 AnyLogic 中使用过 set_center 方法吗?

java - 批处理文件以运行带有参数的jar文件

Android - 使用 while 循环停止线程

c# - 如何让一定数量的线程一直运行

vb.net - 线程异常: The number of WaitHandles must be less than or equal to 64

java - Java 中的 String.format() 和 str.formatted() 有什么区别?

java - 用于查看 Java 进程中的线程的实用程序

c# - 将事务范围添加到 Parallel.Foreach

java Callable FutureTask Excecuter : How to listen to finished task