Google Javascript v8-多线程
假设我有下面的代码Google Javascript v8-多线程,javascript,multithreading,v8,Javascript,Multithreading,V8,假设我有下面的代码 bool run (void) { HandleScope hande_scope; Handle<String> source; Local<Script> script; Persistent<Context> context; context = Context::New(); Context::Scope context_scope(context); script = S
bool run (void)
{
HandleScope hande_scope;
Handle<String> source;
Local<Script> script;
Persistent<Context> context;
context = Context::New();
Context::Scope context_scope(context);
script = Script::Compile("var a = 1; var b = 2;");
Local<Value> result = script->Run();
if (result.IsEmpty())
return false;
else
return true;
}
我希望有人能给我一个提示,让这段代码多线程化,这样一个可能的执行跟踪可以如下所示:
t1: a = 1
t2: a = 1
t1: b = 2
t2: b = 2
看。v8引擎有一个Locker类,可以让您抢占代码。有了它,您可以使用多个线程。根据,几个月前在主干中添加了一个名为“隔离”的功能。这应该允许在单个进程中有多个(非交互)v8实例
t1: a = 1
t2: a = 1
t1: b = 2
t2: b = 2