Я использую grpc в iOS с двунаправленными потоками.grpc поток iOS, отправлять только при запуске GRXWriter.state?
Для потока, который я пишу, я подклассифицировал GRXWriter
, и я пишу ему из фонового потока.
Я хочу быть как можно быстрее. Тем не менее, я вижу, что статус GRXWriter
переключается между started
и paused
, и иногда я получаю исключение, когда я пишу ему во время состояния paused
. Я обнаружил, что перед тем, как писать, мне нужно подождать GRXWriter.state
, чтобы стать started
. Это действительно требование? GRXWriter
разрешено писать только в том случае, если его состояние started
? Он очень часто переключается между started
и paused
, и это кажется, что это может замедлить меня.
Другая проблема с этой проверкой состояния заключается в том, что мой код выглядит уродливым. Есть ли другой способ, с помощью которого я могу использовать двунаправленные потоки лучше? В C# grpc я просто получаю поток, который я пишу свободно.
Edit: Я предполагаю, что причина, почему я спрашиваю это: в моем потоке, который пишет для GRXWriter
, у меня есть while
цикл, который продолжает проверку того state
является started
и не делает ничего, если это не так. Есть ли лучший способ сделать это, а не опросить state
?