首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpiderMonkey GC通知和弱引用

SpiderMonkey GC通知和弱引用
EN

Stack Overflow用户
提问于 2015-12-28 08:58:57
回答 1查看 108关注 0票数 0

当SpiderMonkey收集(或即将收集)特定的"GC“事件时,是否有可能得到通知?

在V8中有一些带有回调的“弱句柄”,当V8 GC决定句柄的对象变得不可访问时,就应该调用这些句柄。即使回调没有被调用(根据V8文档,这是可能的),我们仍然可以检查句柄指向的对象是否即将使用v8::Persistent<T>::IsNearDeath()收集。

在SpiderMonkey中,我们有PersistentRooted,这是一个很强的参考。但是,我们还没有找到以弱的方式安全引用对象的任何方法,因此我们至少可以检查以下条件中的一个(或多个):

  • 对象已变得不可及;
  • 对象已被收集;
  • 物品即将被收集;
  • 对象只有一个引用(这是我们的应用程序保存的引用)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-28 14:43:19

但是我们还没有找到以弱的方式安全地引用对象的任何方法,所以我们至少可以检查以下一个(或多个)条件中的一个 ..。

  • 对象已被收集;

这可以通过弱引用实现。

如果要探测它们,只需检查它们是否返回null。

  • 物品即将被收集;

至少从C代码来看,JSClass终结器应该允许您这样做。

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

https://stackoverflow.com/questions/34490446

复制
相关文章

相似问题

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