gpt4 book ai didi

java - 当新线程运行时更大的线程池或额外的 ExecutorService?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:24 26 4
gpt4 key购买 nike

我有一个问题与 Java 中 ExecutorService 的可能开销有关。

当前的实现有 ExecutorService A,其容量为 5 个线程。

  • 它运行 A 类型的线程。
  • 键入 A 线程执行一些数据库读取和写入操作。

现在,B 类型的线程将在 一些 A 类型的线程完成后运行。

  • B 类型线程的数量会不时地运行。
  • 类型 B 线程执行一些文件系统 IO(不是数据库)。

我也应该

  • 添加一个新的 ExecutorService 来处理 B 类型的线程
  • 或者我应该增加 ExecutorService A 的容量并同时运行类型 B 线程吗?

我认为 Java 有两个 ExecutorService 可能会有一些额外的开销,但另一方面,无论哪种方式,线程总数都会增加。这有关系吗?

最佳答案

我会推荐两个ExecutorServices,然后你可以利用java.util.concurrent包提供的不同的ExecutorService

它使代码更简单并且开销可以忽略不计。

  • ExecutorService 一个固定线程池设置为五个线程。
  • ExecutorService b 带有缓存的线程池。

关于java - 当新线程运行时更大的线程池或额外的 ExecutorService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com