Java и Scala представляют свои собственные глобальные ForkJoinPool, Java как java.util.concurrent.ForkJoinPool#commonPool
и Scala как scala.concurrent.ExecutionContext#global
.Кажется, что оба они предназначены для использования в одних и тех же случаях, в частности для запуска неблокирующих параллельных задач (часто неявно).Теперь, насколько я могу судить, если вы неправильно выберете свои взаимодействия, вы получите два пула потоков, которые будут выполнять одно и то же: один для мира Java и один для мира Scala.
Итак, если я не пропускаю что-то очевидное, есть ли у Scala веская причина не просто использовать Java commonPool для своего глобального ExecutionContext?