首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么垃圾收集和自动内存分配在某些情况下被认为是缺点?

为什么垃圾收集和自动内存分配在某些情况下被认为是缺点?
EN

Stack Overflow用户
提问于 2014-04-23 07:55:21
回答 2查看 65关注 0票数 1

我们可以在这本书中找到一个例子,Ivo Balbaert著:

然而,由于垃圾收集和自动内存分配,Go不适合于实时软件。

是什么使垃圾收集和自动内存分配语言不适合该任务?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-23 08:02:44

  • 垃圾收集可能是一个问题,因为垃圾收集器需要一些时间才能运行,而且这种情况发生在不可预测的时刻。在实时软件中是件坏事。
  • 自动内存分配本身并不是一个严格的问题,但是:

代码语言:javascript
复制
- In Go and similar languages it is closely tied to garbage collection.
- Many real-time systems want to control their memory allocation as tightly as timings.  Some programs don't use dynamic allocation at all.  Done right, this means you can write programs that provably never run out of memory.

票数 2
EN

Stack Overflow用户

发布于 2014-04-23 08:00:16

基本上,您无法控制垃圾收集器何时运行或需要多长时间。当然,运行时的设计将使GC尽可能少地占用其他工作。但是“尽可能少”对实时来说是不够的--需要保证在一定的时间内事情会发生。

(内存分配是另一个可能需要“太长”的操作,可能还有其他“内务”任务必须定期运行。但是如果内存分配需要很长的时间,这可能是因为GC需要首先运行。)

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

https://stackoverflow.com/questions/23238207

复制
相关文章

相似问题

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