Вопрос

I am trying to implement an audio module for nodejs which involves a neural network.

This neural network has 2 types of nodes

  1. Pure C++
  2. C++ based on JAVASCRIPT ( which involves calling a javascript function )

As far as i know its not possible to call any function which involves v8 from a different thread. And if i return to the main thread i will lose my traverse in the neural network.

How to implement a call to a function in the main thread from a different thread?

Это было полезно?

Решение

I figured it out with the help of

@indutny in the #libuv channel.

What I do now is dispatch the call to main thread via

uv_async_send

function defined in libuv.h, since the function is non-blocking. I also use a semaphore to wait till the execution of the javascript function is complete in order to avoid the corrupted parse.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top