【发布时间】:2017-05-07 15:11:07
【问题描述】:
V8ScriptEngine 实例是否在父 V8Runtime 被释放时被释放?
该库的文档对此并不清楚。我已经实现了部分 CommonJS 环境,但我想确保最终处置使用 require()s 创建的 V8ScriptEngine 实例。
【问题讨论】:
标签: c# .net v8 clearscript
V8ScriptEngine 实例是否在父 V8Runtime 被释放时被释放?
该库的文档对此并不清楚。我已经实现了部分 CommonJS 环境,但我想确保最终处置使用 require()s 创建的 V8ScriptEngine 实例。
【问题讨论】:
标签: c# .net v8 clearscript
我认为你的问题的答案是否定的;处置运行时不会自动处置其子引擎。在单独处置之前,每个引擎都保持正常运行。
更多信息here:
托管引擎和运行时是引用计数的非托管对象的代理。处置或最终确定代理会减少其目标的引用计数,并且当其引用计数达到零时目标将被销毁。此外,非托管引擎拥有对其父运行时的附加引用,因此只要引擎保持活动状态,运行时就会保持活动状态,无论托管端是否存在运行时代理。
【讨论】: