首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

futures::select之间的区别是什么!和tokio::select?

futures::select和tokio::select是Rust编程语言中用于异步编程的两个关键宏,它们的作用是在多个异步任务之间进行选择和调度。它们的区别主要体现在以下几个方面:

  1. 库的依赖:futures::select是基于futures库实现的,而tokio::select是基于tokio库实现的。futures库是Rust异步编程的基础库,而tokio库是一个更高级的异步运行时库,提供了更多的功能和工具。
  2. 语法和用法:futures::select使用的是select!宏,而tokio::select使用的是select!宏。这两个宏的语法和用法非常相似,都可以用于在多个异步任务之间进行选择和调度。
  3. 功能和特性:futures::select和tokio::select在功能和特性上有一些差异。futures::select更加基础和通用,可以与其他异步库和框架配合使用。tokio::select则是tokio库提供的特定功能,它更加集成和依赖于tokio库的生态系统。

总结起来,futures::select和tokio::select都是用于异步编程的关键宏,它们的区别主要在于库的依赖、语法和用法,以及功能和特性的差异。具体使用哪个宏取决于项目的需求和使用的异步库或框架。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Rust每周一库】hyper - 底层http库

现在说到写应用,网络框架肯定是必不可少的。今天就给大家简单介绍一下hyper。hyper是一个偏底层的http库,支持HTTP/1和HTTP/2,支持异步Rust,并且同时提供了服务端和客户端的API支持。很多同学可能觉得既然hyper是个偏底层的框架,那是不是就不需要去了解了呢?首先很多上层的框架,比如rocket、iron和reqwest底层都是基于hyper的。(关于Rust中各种网络开发框架,这里有个很全面的综述和比较。)所以如果在使用这些框架的时候遇到了一些问题,对hyper的了解肯定是有一定的帮助的。再者学习Rust的我们都是奔着成为大佬的路线去的,很难说不会有直接操作偏底层框架的需求。

02

【译】如何提升 Rust 代码性能

性能是开发者为其应用程序选择 Rust 的首要原因之一。事实上,它是 rust-lang.org 主页上 ["为什么选择Rust?"](https://www.rust-lang.org/#:~:text=Version%201.55.0-,Why%20Rust%3F,-Performance ""为什么选择Rust?"")一节中列出的第一个原因,甚至在内存安全之前。这也是有原因的,许多基准测试表明,用Rust编写的软件速度很快,有时甚至是最快[2]的。但这并不意味着所有用Rust编写的软件都能保证快速。事实上,写低性能的Rust代码是很容易的,特别是当试图通过Clone 或Arc替代借用来""安抚""借用检查器时,这种策略通常被推荐给 Rust 新手。这就是为什么对 Rust 代码进行剖析和基准测试是很重要的,可以看到任何瓶颈在哪里,并修复它们,就像在其他语言中那样。在这篇文章中,我将根据最近的工作经验,展示一些基本的工具和技术,以提高 mongodb crate 的性能。

02
领券