Как обрабатывать отправку и получение нескольких значений между двумя задачами?

Мне нужно отправлять и получать несколько значений между двумя задачами. В настоящее время я использую канал tokio oneshot, потому что занимаюсь только двумя задачами. Но я не могу повторно использовать tx, вероятно, из-за ограничения на одно сообщение. Как обычно решается эта ситуация?

  • Я каждый раз создаю новый ваншот-канал? или есть способ повторно использовать канал?
  • Попробовать ли я упаковать все свои взаимодействия в одно сообщение и сделать это только один раз? -> кажется очень ограничительным.
  • Использую ли я другие типы каналов?

Почему вы используете одноразовый канал, если хотите отправить более одного сообщения? Судя по вашему расплывчатому описанию, вам, вероятно, нужен канал mpsc.

kmdreko 18.12.2022 21:04
Почему Python в конце концов умрет
Почему Python в конце концов умрет
Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания...
0
1
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В этой ситуации следует использовать канал tokio::sync::mpsc.

Я подозреваю, что вас беспокоит тот факт, что он поддерживает несколько отправителей, но вполне нормально использовать его, когда у вас есть только один отправитель.

да, я думаю, это то, о чем я беспокоился. Я попробую спасибо!

Fast Eater 19.12.2022 06:55

Другие вопросы по теме