親V8Runtimeが削除されたときにV8ScriptEngineインスタンスが削除されますか?親V8Runtimeが削除されたときにV8ScriptEngineインスタンスが削除されますか?
ライブラリのドキュメントはこれではっきりしません。部分的なCommonJS環境を実装しましたが、require()
で作成されたV8ScriptEngine
インスタンスが最終的に破棄されるようにしたいと考えています。
親V8Runtimeが削除されたときにV8ScriptEngineインスタンスが削除されますか?親V8Runtimeが削除されたときにV8ScriptEngineインスタンスが削除されますか?
ライブラリのドキュメントはこれではっきりしません。部分的なCommonJS環境を実装しましたが、require()
で作成されたV8ScriptEngine
インスタンスが最終的に破棄されるようにしたいと考えています。
あなたの質問に対する答えはノーだと思います。ランタイムを廃棄すると、はなく、は自動的にその子エンジンを破棄します。各エンジンは、個別に配置されるまで機能し続けます。
詳しい情報here:
管理エンジンとランタイム参照カウント管理されていないオブジェクトのプロキシです。プロキシを破棄またはファイナライズすると、ターゲットの参照カウントが減少し、参照カウントがゼロになるとターゲットが破棄されます。さらに、アンマネージエンジンは、親ランタイムへの追加参照を保持しているため、マネージドサイドにランタイムプロキシが存在するかどうかにかかわらず、エンジンがアクティブなままである限り、ランタイムは有効です。