我读到 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/