首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么std::task,core::task,以及tokio::task都存在?

为什么std::task,core::task,以及tokio::task都存在?
EN

Stack Overflow用户
提问于 2021-04-02 00:32:42
回答 1查看 326关注 0票数 2

铁锈似乎有三种不同的任务,

这三项任务为何存在?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-02 00:53:57

这些都是模块,所以它们都共存并且具有相同的名称这一事实并不意味着任何事情。任何任意的机箱都可以创建task模块(或类型、特性或.)。这就是为什么大多数编程语言一开始就有名称空间,这样我们就可以进行名称冲突。

  1. std::task core::task,它以不同的名称重新导出。这包含了创建期货本身的构建块和驱动它们的执行者。极少数人将需要使用这些类型。
  2. tokio::task允许创建Tokio任务:“异步绿线程”。这些是异步世界中线程的语义等价物。有关更多细节,请参见东京的网站关于产卵任务的部分。 async_std::task是一回事,但是对于不同的执行者来说是一样的。异步-std任务与Tokio任务不同,不可互换。
  3. futures::task是标准库的模块和执行者模块之间的一种混合。这是因为它的历史-期货箱是实施期货之前,他们被移到标准库。现在它包含了标准库类型的再导出,以及一些创建执行器的进一步工具,以及期货库提供的对执行者进行产卵任务的特性。

另请参阅:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66913113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档