目前是V8线程安全吗?

 石头1988030450 发布于 2023-02-09 08:38

当我意识到我错过了一个重要的位置:并发时,我终于选择v8作为我的应用程序的脚本引擎.

由于几个关键因素,我决定使用v8而不是lua,但显然我不能用v8编写线程安全代码或多线程任务.

在官方文档中,我没有发现v8的并发功能,它们描述了GC,v8是用C++编写的,它支持很多平台,等等,但没有关于wiki和官方文档的线程用于在V ++应用程序中嵌入v8.

问题:我应该如何思考v8?我必须将我的应用程序作为一组单线程/线程安全函数直接从C++公开?

1 个回答
  • V8不是线程安全的,但这并不意味着您无法在线程环境中使用它.这样做的唯一规定是使用V8的Locker对象,无论何时访问任何V8相关的东西.

    这样做非常简单,只需创建一个新实例,v8::Locker然后当您完成在V8中执行的任何操作时,创建一个实例v8::Unlocker

    根据我对V8文档的体验......它显得很糟糕,而且似乎(在我使用中)学习如何使用它的最佳方法是试错.

    编辑: 这里的答案解释了比我更多的多线程使用V8:

    2023-02-09 08:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有