Rust 新线程中的异步函数
我试图在新线程中调用异步函数Rust 新线程中的异步函数,rust,Rust,我试图在新线程中调用异步函数 async fn init(){ println!("Running"); } fn load(){ thread::spawn(init); //Or async closure thread::spawn(async|| { init().await; }); } 但我不能做到。感谢您的帮助。std::thread不是未来任务的执行者。您需要一个执行器来运行未来,或者您需要在不同的线程上手动轮询它(这
async fn init(){
println!("Running");
}
fn load(){
thread::spawn(init);
//Or async closure
thread::spawn(async|| {
init().await;
});
}
但我不能做到。感谢您的帮助。
std::thread
不是未来任务的执行者。您需要一个执行器来运行未来,或者您需要在不同的线程上手动轮询它(这可以被视为实现了执行器^^)。请检查这个简单的示例:,它使用block\u on
在轮询未来时阻塞封闭线程。您也可以在tokio板条箱中检查运行时功能。@ÖmerErden谢谢!