有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAutil。vCPU为2时并发Java runAsync和ForkJoin

我有一个在AWS t3上运行的计算量很大的spring boot应用程序。大型EC2实例,带有2个虚拟CPU

我在计算中有两个步骤,对于第一个步骤,由于2VCPU,我打算使用supplyAsync与包含2个线程的线程池

第二步涉及fork连接(在步骤1完成后发生)。但是,如果我使用commonPool,因为它只进行计算,所以我可以使用它,这意味着它在parallelism=1上运行。这意味着JVM将为每个任务创建一个线程(引用:https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool)。我预计子任务将超过10个。因此,创建10个或更多线程感觉像是一种过度消耗,因为它会消耗内存

如果我只有2个vCPU,那么使用fork-join方法有意义吗


共 (0) 个答案