Вы можете заблокировать, если вам нужно заблокировать.
Поскольку обратные вызовы для RPC считаются не поточно-безопасными, блокировка будет задерживать другие обратные вызовы, пока вы не вернетесь.Это включает в себя setOnReadyHandler
и setOnCancelHandler
в ClientCallStreamObserver
и ServerCallStreamObserver
.
В потоковых RPC gRPC автоматически запрашивает другое сообщение после того, как вы вернетесь из onNext()
, поэтому, если вы заблокируете gRPC, вы не получитеслишком много больше сообщений.Однако gRPC по-прежнему разрешает буферизацию некоторых сообщений.
Блокировка не влияет на новые RPC.