在 Java 中需要 SingleThreadPool?

Need of SingleThreadPool in Java?

我有几个关于 ExecutorService 的问题。

  1. 在什么情况下我们应该使用newSingleThreadExecutor()而不是其他为什么?
  2. 你能告诉我拥有SnewSingleThreadExecutor()的真实用例吗?
  3. 如果我们有来自 (newSingleThreadExecutor()newFixedThreadPool(1)newCacheThreadPool(1)) 的单个线程,我们还需要检查线程安全吗?
  4. 如果我们已经可以使用 newFixedThreadPool(1)
  5. 创建单个线程,为什么还需要 newSingleThreadExecutor()
  1. 当您因为公共数据而不希望任务运行并行时。
  2. Swing 的事件调度线程。不叫executor,其实是,只是它的execute方法调用了invokeLater.
  3. 这取决于您访问的数据。如果可以在此执行程序上的任务 运行ning 之外访问该数据,那么是的。它不取决于您如何构建执行器。
  4. 我们不需要。我不知道 SingleThreadPool 是什么意思 - Java 运行time 库中没有这样的 class。