Size: a a a

2021 April 22

G

George in Rust Async
???

drop ( ... ) тоже ничего не делает.
источник

D

Denis in Rust Async
да блин
источник

D

Denis in Rust Async
просто дропни его и всё
источник

G

George in Rust Async
Дропнул, папка не создалась. Принт не принт.
источник

D

Denis in Rust Async
JoinHandle не надо поллить, чтобы футура выполнялась
источник

D

Denis in Rust Async
т.е. это вообще никак не связано, он выполняется в фоне независимо от того, ждёшь ты JoinHandle или нет
источник

П

Пух in Rust Async
А рантайм вот уже надо поллить где-то, емнип
источник

G

George in Rust Async
Так не выполняется :(
источник

D

Denis in Rust Async
^
источник

D

Denis in Rust Async
у тебя же current thread рантайм, как он будет волшебным образом сам выполняться-то?)
источник

G

George in Rust Async
Справедливо. Но можно тогда вынести в другой тред и общаться через mpsc
источник

G

George in Rust Async
У меня вообще в чём проблема. mysql делает запрос в несколько ступеней - init, alloc, запрос, deinit, clear, и мне нужно чтобы сама ступень запроса максимально быстро отдалась и не нужно было ждать, пока запрос отпраааавится, придёт ответ и тд, я хочу эту работу вынести отдально, отправлять туда таску и забыть, отправив mysql честный 0. В принципе, можно было бы и обычным тредом обойтись и не тащить токио, кстати.
источник

D

Denis in Rust Async
звучит так себе

use std::time::Duration;

fn main() {
   let rt = tokio::runtime::Builder::new_current_thread()
       .enable_all()
       .build()
       .unwrap();
   let _guard = rt.enter();
   let task = async {
       std::fs::create_dir("/tmp/tokiodir").unwrap();
       println!("created");
   };
   rt.spawn(task);
   rt.block_on(tokio::time::sleep(Duration::from_secs(1)));
}

вот так, например, работает
источник

П

Пух in Rust Async
Ну ток спавнить же надо снаружи
источник

D

Denis in Rust Async
что это меняет?
источник

G

George in Rust Async
А как звучит mpsc с обычным тредом и обычной очередью, без токио? Лучше мб? И токио тащить не надо.
источник

D

Denis in Rust Async
🤷‍♀️
источник

П

Пух in Rust Async
Если block_on не требует &mut rt, то ничего
источник

D

Denis in Rust Async
pub fn block_on<F: Future>(&self, future: F) -> F::Output
источник

П

Пух in Rust Async
Тогда сайдет
источник