我有许多异步任务要并行运行。所有的任务都可以分为两种类型,让我们称之为 A 类型(耗时)和其他所有类型 B(更快且执行速度更快的任务)。使用具有 x poolsize 的单个 ScheduledThreadPoolExecutor,最终在某个时候所有线程都忙于执行类型 A,因为结果类型 B 被阻塞和延迟。我试图完成的是与 B 类并行运行 A 类任务,并且我希望这两种类型的任务在其组内并行运行以提高性能。
您是否认为为 A 和 B 类型的 ScheduledThreadPoolExecutor 的两个实例专门使用它们自己的线程池是谨慎的做法?您认为这种方法有什么问题吗?