如何在异步 Rust 中生成随机数?

Myr*_*rfy 4 rust rust-tokio

rng板条箱既不是Sync也不是Send,因此 rng::thread_rng 不能跨越 .await 点。在异步 Rust 中生成随机数的最简单且美观的方法是什么?

预先生成大量数字然后使用它们是丑陋的。

Pmi*_*imo 7

来自 tokio Discord 服务器

let random = rand::random::<i64>();
Run Code Online (Sandbox Code Playgroud)

或者

let random = {
    let mut rng = rand::thread_rng();
    rng.gen::<i64>()
}
Run Code Online (Sandbox Code Playgroud)

“在使用等待之前确保 rng 变量超出范围”