В случае, если вы описали, это зависит больше от того, какой ExecutionContext
вы используете, затем от блокировки или неблокируемой операции, которую вы вызываете.
В основном, если в случае
def requestA(): Future[Response] = Future {
blockingIoRequest()
}
вы будете использовать тот же ExecutionContext
, который используется в контроллерах (например, для обработки Action.async
), Filters
или других местах обработки запросов, тогда да - это повлияет на производительность, поскольку блокирует поток внутри такого Future
выполнения , повлияет на обработку других входящих запросов. Следовательно, рекомендуется выполнять такие операции блокировки внутри другой ExecutionContext
, предназначенной для использования для операции блокировки (например, доступ к БД, сетевые операции и т. Д. c.)
Пожалуйста, ознакомьтесь с более подробной информацией на do c page: https://www.playframework.com/documentation/2.8.x/ThreadPools
Надеюсь, это поможет!