发布于 2021-04-02 00:53:57
这些都是模块,所以它们都共存并且具有相同的名称这一事实并不意味着任何事情。任何任意的机箱都可以创建task模块(或类型、特性或.)。这就是为什么大多数编程语言一开始就有名称空间,这样我们就可以进行名称冲突。
std::task 是 core::task,它以不同的名称重新导出。这包含了创建期货本身的构建块和驱动它们的执行者。极少数人将需要使用这些类型。tokio::task允许创建Tokio任务:“异步绿线程”。这些是异步世界中线程的语义等价物。有关更多细节,请参见东京的网站关于产卵任务的部分。
async_std::task是一回事,但是对于不同的执行者来说是一样的。异步-std任务与Tokio任务不同,不可互换。futures::task是标准库的模块和执行者模块之间的一种混合。这是因为它的历史-期货箱是实施期货之前,他们被移到标准库。现在它包含了标准库类型的再导出,以及一些创建执行器的进一步工具,以及期货库提供的对执行者进行产卵任务的特性。另请参阅:
https://stackoverflow.com/questions/66913113
复制相似问题