我有一个与Java中的ExecutorServices可能的开销有关的问题.
本实现具有容量为5个线程的ExecutorServiceA.
>它运行类型A的线程.
>类型A线程进行一些数据库读取和写入.
现在,类型B的线程将在某些类型A的线程完成后运行.
>将要运行的B型线程的数量有时会不同.
> B型线程执行某些文件系统IO(而非数据库).
那我应该
>添加新的ExecutorService来处理B型线程
>还是应该增加ExecutorService A的容量并同时使用该类型运行B型线程?
我在想Java具有两个ExecutorServices可能会有一些额外的开销,但是另一方面,线程总数将以任何一种方式增加.有关系吗?
解决方法:
我将推荐两个ExecutorServices,然后您可以利用java.util.concurrent包提供的不同ExecutorServices.
它使代码更容易且开销可忽略.
> ExecutorService a,其中固定线程池设置为五个线程.
>具有缓存线程池的ExecutorService b.