私は主なスレッドではないスレッド内で、C++からv8を使用しようとしています。 v8に関する限り、マルチスレッド化はありません。すべてのv8オブジェクトが作成され、そのスレッド内で破棄されます。何も並行して実行されておらず、何も共有されていません。メインスレッドからプログラムを実行すると、すべて正常に動作します。私は別のスレッドでv8のものを持っているとき、私はv8 :: HandleScopeを作成するときにセグメント化の失敗を取得します。スレッドでv8を使用するにはどうすればよいですか?
スレッドが実際にv8でどのように処理されているかに関する有用な文書は見つかりません。検索の際に「分離とロッカーの使用」という指示が頻繁に表示されますが、これがどのように行われたかの例は見つかりません。 v8 :: Isolateに関するこのAPIドキュメントがありますが、私の特定のケースでそれらが必要かどうかは私には分かりません(私はメモリを共有していないか、パラレルで実行しています)。 v8 :: Locker()のドキュメントには、クラスの内容に関する情報さえありません。プロジェクトに含まれているサンプルは、このいずれも処理しません。
だから私の質問は...
- ですが、私はここの分離株および/またはロッカーを使用する必要がありますか?
- 私はそれらを使用する方法の最小の例を得ることができますか?擬似コードでさえ、何かが本当に役に立ちます。