yni*_*ous 6 asynchronous rust rust-tokio
我正在使用 Tokio,我想接收来自两个不同mpsc队列的请求。select!似乎是要走的路,但我不确定futures::select!和之间有什么区别tokio::select!。在哪种情况下,您应该使用一种而不是另一种?
tokio::select!是根据使用 的经验而构建的futures::select!,但对其进行了一些改进以使其更符合人体工程学。例如futures-rs,select!requires Futures to implementFusedFuture的版本,而 Tokio 的版本不再需要这个。
取而代之的是,Tokio 的版本支持宏中的先决条件以涵盖相同的用例。
tokio repo 中的PR对此进行了更多阐述。
也为 futures-rs 版本提出了此更改,但到目前为止尚未在那里实施。
如果您的项目中已经包含 Tokio,那么使用 Tokio 的版本似乎更可取。但是,如果您没有并且不想添加额外的依赖项,那么 futures-rs 版本也将以几乎相同的方式涵盖大多数用例。主要区别在于,有些Futures 可能需要FusedFuture通过FutureExt::fuse()扩展方法转换为s 。
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |