我正在尝试为nodejs实现一个涉及神经网络的音频模块。
该神经网络有 2 种类型的 Node
- 纯 C++
- 基于 JAVASCRIPT 的 C++(涉及调用 javascript 函数)
据我所知,不可能从不同的线程调用任何涉及 v8 的函数。如果我返回主线程,我将丢失神经网络中的遍历。
如何实现从不同线程调用主线程中的函数?
最佳答案
我在
的帮助下解决了这个问题#libuv channel 中的@indutny。
我现在所做的是将调用分派(dispatch)到主线程
uv_async_send
在libuv.h
中定义的函数,因为该函数是非阻塞的。我还使用信号量等待 javascript 函数执行完成,以避免解析损坏。
关于c++ - 如何从不同线程调用主 v8 循环中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593327/