javascript - V8 javascript 引擎有 GIL 吗?

标签 javascript v8

我读到 V8 Javascript 引擎是一个即时编译器。 PyPy 是一个 Python 解释器,也是一个即时编译器。 PyPy 以在存在多个线程时具有 GIL 而闻名。

V8 Javascript 引擎是否有类似全局解释器锁 (GIL) 的东西来处理网络工作线程?

是否所有动态语言在处理多核时都存在问题?如果是,为什么 JIT 编译器在处理 GIL 时会出现问题?

最佳答案

Chromium Web Workers 是在 V8 Isolates 之上实现的。每个 Isolate 本质上都是一个完全独立的 V8 VM 实例。许多 Isolates 可以共存于同一个进程中并同时执行 JavaScript 代码。

然而,在任何给定的时刻,每个 Isolate 只能由一个线程拥有。嵌入程序必须使用隔离级别锁定机制来确保对隔离的独占访问。

关于javascript - V8 javascript 引擎有 GIL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409609/

相关文章:

javascript - 按名称或 id 而不是类选择动态 ajax 下拉列表

javascript - 来自对象的值(例如字典中的键)不起作用

javascript - NodeJS : calling global. gc() 没有将内存减少到最小?

javascript - 什么是 Node.JS 的 getHiddenValue 和 setHiddenValue 函数,它们包装了 V8 的 GetPrivate 和 SetPrivate?

c++ - 尝试检索时通过 nan 传递数组返回未定义

javascript - 什么是内联 JavaScript?

javascript - jquery 移动导航栏中的多个事件按钮?

javascript - 对这个 javascript 模式感到困惑

c++ - 如何有效地将 if 和 else 用于过滤结构?

javascript - 修改 Chrome 自带的 V8 JavaScript 引擎