All JavaScript are single-threaded, synchronously executed. Any asynchronous material is executed through events that add their handlers to the task queue - they are executed when the current task is completed.
To use individual threads, you need an environment such as WebWorkers β each thread has its own execution context (global scope) and task queue; communication between them is through events.
Since the onaudioprocess handler seems to live in the same area as the DOM, it is unlikely that it works in its own thread. If you really have a difficult computational task that makes your page inactive, you should use WebWorker, into which you feed sound events:
myScriptProcessorNode.onaudioprocess = myWebWorker.postMessage;
source share