首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态寿命是如何影响长期记忆的?

静态寿命是如何影响长期记忆的?
EN

Stack Overflow用户
提问于 2020-03-31 14:55:57
回答 1查看 94关注 0票数 0

我希望有一个在很长一段时间内执行一百万个异步任务的程序。我想动态地管理并发性,但是我们可以想象使用并发性20的更简单的版本。

我创建了一个系统,在每个异步任务中都使用tokio::task::spawntokio::task::spawn需要一个具有'static生存期的Future。如果我以某种方式使我的未来变得静止,这将如何影响我的程序的长期内存消耗?是否会有一些已经等待的未来的记忆积累?或者唯一真正积累的东西就是制造未来'static的东西

我是否可以将像&str这样的虚拟静态数据传递到每个未来的某个地方,以使未来的数据保持静态,但在等待它之后却没有内存?我错过了一些核心的理解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-01 02:00:13

回答你的问题

通常,任何'static引用都存在于程序的整个生命周期;只有在main退出之后才会释放它。

如果您有许多不同的值具有'static生存期(即它们并不都是对一个共享值的引用),那么每个值都将占用一定的内存。一般来说,在程序的整个生命周期中,内存量是恒定的,应该很容易解释。

另请参阅:

回答你的问题

没有任何关于期货的要求,你必须有一个'static的一生。您所引用的是泛型类型的绑定,该绑定声明当前的任何引用都必须具有static生存期。这并不意味着需要引用。相反,使用拥有的价值。

另请参阅:

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

https://stackoverflow.com/questions/60953608

复制
相关文章

相似问题

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