其他分享
首页 > 其他分享> > 当新的线程类型将运行时,更大的线程池或其他ExecutorService?

当新的线程类型将运行时,更大的线程池或其他ExecutorService?

作者:互联网

我有一个与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.

标签:overhead,multithreading,concurrency,executorservice,java
来源: https://codeday.me/bug/20191024/1917753.html