c++ - 如何从不同线程调用主 v8 循环中的函数

标签 c++ node.js native libuv

我正在尝试为nodejs实现一个涉及神经网络的音频模块。

该神经网络有 2 种类型的 Node

  1. 纯 C++
  2. 基于 JAVASCRIPT 的 C++(涉及调用 javascript 函数)

据我所知,不可能从不同的线程调用任何涉及 v8 的函数。如果我返回主线程,我将丢失神经网络中的遍历。

如何实现从不同线程调用主线程中的函数?

最佳答案

我在

的帮助下解决了这个问题

#libuv channel 中的@indutny。

我现在所做的是将调用分派(dispatch)到主线程

uv_async_send

libuv.h中定义的函数,因为该函数是非阻塞的。我还使用信号量等待 javascript 函数执行完成,以避免解析损坏。

关于c++ - 如何从不同线程调用主 v8 循环中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593327/

相关文章:

c++ - 在 Android 上使用 OpenGL ES 3?

c++ - 可变参数模板中的声明符修饰符位置

c++ - 哪个 C++ 标准头文件定义了 SIZE_MAX?

node.js - 如何使用 Node JS 创建谷歌云项目和服务帐户?

javascript - CSS 样式表未正确连接到 ejs 文件

c++ - 具有 native 消息传递和非持久连接的 Microsoft Edge 扩展不起作用

C++ 使用 toString() 方法有什么问题

node.js - 在更新中执行 $set 和 $rename

java - 将 unicode 字符从 native 字符转换为 Java 字符时出现问题

android - react native 回调