É seguro passar o retorno de chamada js para uma função ffi que o chama em outro thread?

Digamos que eu tenho uma função C que pega um retorno de chamada e o invoca em outro thread:

void call_in_new_thread(void (*callback)()) {
    // spawn a new thread and call `callback` in it ...
}

Agora eu quero chamar essa função do javascript via Node-FFI, passando uma função javascript para ele:

var callbackType = 'pointer'
var lib = ffi.Library('mylib', {
    'call_in_new_thread': [ 'void', [ callbackType ] ],
})   

var callback = ffi.Callback('void', [ 'void' ], function() {
    // which thread I'm in now?
    console.log("hello!")
})

lib.call_in_new_thread(callback)

Minhas perguntas: é válido? É thread seguro? Em qual segmento o retorno de chamada javascript realmente é executado? No encadeamento principal node.js. ou no encadeamento criado pela biblioteca ffi? O Node-FFI sincroniza a chamada de alguma forma?

questionAnswers(1)

yourAnswerToTheQuestion