172 похожих чатов

Приветстсвую. Есть tokio::spawn, внутри которого бесконечно крутится while let Some(msg) =

receiver.recv().await. в теле цикла я проверяю msg.parameter на соответствие некоторой переменной c типом Option<i64>.
на момент старта цикла переменная проинициализирована значением None. затем, уже после запуска таски, за пределами скоупа этой таски, через некоторое время переменная станет Some(value) и изменяться в дальнейшем не будет. мне пришло решение очевидное и, как мне кажется, тупое - Arc<Mutex<Option<i64>>. меняем переменную и забываем.

думал про oneshot, но мне важно, чтобы while был запущен сразу после старта таски. селект внутри лупа не годится, потому что ресивер... ну... одноразовый.
какие есть ещё варианты?

5 ответов

11 просмотров

звучит как watch

antuan- Автор вопроса

Типа вотчер

Вроде как OnceCell как раз для

Ещё можно использовать oneshot в связке с futures::future::FutureExt::shared что-бы не мувать фичу и использовать потом futures::future::Shared::peek

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта