首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >V8 javascript引擎有GIL吗?

V8 javascript引擎有GIL吗?
EN

Stack Overflow用户
提问于 2013-01-19 08:01:04
回答 2查看 4.4K关注 0票数 11

我读到过V8 Javascript引擎是一个即时编译器。PyPy是一个Python解释器,也是一个即时编译器。众所周知,PyPy在存在多线程的情况下具有GIL。

V8 Javascript引擎有没有等同于全局解释器锁(GIL)的东西来处理web工作线程?

所有的动态语言都有处理多核的问题吗?如果是这样,为什么JIT编译器在处理GIL时会有问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-19 08:18:10

Chromium Workers是在V8隔离的基础上实现的。每个隔离实质上都是V8 VM的一个完全独立的实例。多个隔离可以在同一进程中共存,并并发执行JavaScript代码。

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

票数 18
EN

Stack Overflow用户

发布于 2014-10-10 08:04:57

回答您的最后一个问题,我不认为GILs是动态解释或JIT编译语言中必须存在的东西。例如,PyPy已经在使用软件事务内存消除GIL方面做了一些初步工作。PyPy和CPython拥有GIL的事实更多地与它们历史上较早的设计决策以及它们的内部数据结构不是线程安全的事实有关。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14409609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档