我正在学习《铁 rust 》中的异步/等待,我一直在关注Tokio tutorial.在教程中,有一件事困扰着我,但教程似乎没有解释.考虑一下this
tokio::spawn(async move {
process(socket).await;
});
本教程就是这么做的,但我搞不懂为什么这里要用async move {}
块.到目前为止,据我所知,异步块是不必要的,也就是说,下面的代码运行得很好,而且更简洁直接:
tokio::spawn(process(socket));
所以,我的问题是
- 在此代码中是否需要使用异步块?
- 如果是这样,又有什么不同呢?
- 如果没有编译器优化,异步块不会增加一层额外的间接层,可能会导致性能略有下降吗?