开发者社区 问答 正文

V8 Worker中Persistent handle是什么?

V8 Worker中Persistent handle是什么?

展开
收起
Dons 2022-04-18 10:58:25 951 分享 版权
来自: 阿里技术
1 条回答
写回答
取消 提交回答
  • Persistent handle 是一个堆内存上分配的 JavaScript 对象的引用,这点和 local handle 一样。但它有两个自己的特点,是对于它们所关联的引用的生命周期管理方面。当你希望持有一个对象的引用,并且超出该函数调用的时期或范围时,或者是该引用的生命周期与 C++ 的作用域不一致时,就需要使用 persistent handle 了。例如 Google Chrome 就是使用 persistent handle 引用 DOM 节点。Persistent handle 支持弱引用,即 PersistentBase::SetWeak,它可以在其引用的对象只剩下弱引用的时候,由垃圾回收器出发一个回调。

    2022-04-18 16:34:47
    赞同 展开评论
问答地址: