mar*_*964 6 c++ multithreading v8 embedded-v8
使用 Google 的 v8 c++ 库,我想创建一个上下文,其中定义了多个模板、变量和全局变量,并准备好供代码中的多个地方使用,这些地方可能运行在不同的线程上,每个地方都有自己的隔离,它们也应该在这里每个线程都有自己的本地上下文副本,因此对一个线程中全局变量的任何更改都不会影响其他线程。
每次我想要一个新的上下文时,我都可以通过显式设置我的所有模板、变量和全局变量来做到这一点,但我想知道是否有更有效的方法。假设我已经有一个代表主状态的全局 v8::Isolate 指针和 v8::Persistent。如果我想在自己的线程中创建一个全新的隔离,并创建一个本质上是 master 克隆的新上下文,那么我需要做什么?我知道我可以在对 master 的访问周围包装一个互斥锁,以确保不同的线程在必要时不会同时访问它。我只是不知道如何有效地将在一个隔离中创建的信息复制到另一个隔离中,而无需从头开始重新创建其全部内容。