java - Thread 在这里比 Executor 更受青睐吗?

标签 java concurrency executorservice

据我了解,Executors 有助于处理 runnable 的执行。例如。当我有几个工作线程完成它们的工作然后终止时,我会选择使用执行程序。 执行者将处理创建和终止执行工作线程所需的线程。

但是现在我面临着另一种情况。固定数量的类/对象应封装自己的线程。因此线程在创建这些对象时启动,线程将在这些对象的整个生命周期内继续运行。 少数对象依次在程序开始时创建并在整个运行时存在。 我想在这种情况下线程比执行器更可取,但是当我阅读互联网时,每个人似乎都建议在任何可能的情况下使用执行器而不是线程。

有人可以告诉我这里是选择 Executors 还是 Threads,为什么?

谢谢

最佳答案

你有点混淆了东西。 Executor 只是一个接口(interface)。 Thread 是一个核心类。没有任何内容直接暗示 Executor 实现在单独的线程中执行任务。

阅读 JavaDoc 的前几行。

Executor

因此,如果您想要完全控制,只需使用 Thread 并自己做事。

关于java - Thread 在这里比 Executor 更受青睐吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465068/

相关文章:

java - java平台下如何测量上下文切换所花费的时间

java - JPA hibernate : An entity copy [xxx] was already assigned to a different entity [yyyyy]

java - ExecutorService.Submit(Callable<T>) 正在为 Future<T> 对象返回空值

java - ExecutorService 的 ThreadPool 工作线程不会调用 Autowiring 的成员变量方法

java - "language converters"的经验?

java - 在数据库中保存语言环境

multithreading - Go-尝试创建超过一定数量的goroutine时出现段错误问题

java - 如何使用基本 Java 套接字停止 ("skip") 等待服务器响应的客户端

multithreading - 编译器优化破坏多线程代码

java - 如何捕获 java fx 应用程序中的任务异常?