2

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?

ShrekOverflow
  • 6,795
  • 3
  • 37
  • 48

1 Answers1

4

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.

Esailija
  • 138,174
  • 23
  • 272
  • 326
ShrekOverflow
  • 6,795
  • 3
  • 37
  • 48