If I understand correctly Node JS is non blocking...so instead of waiting for a response from a database or other process it moved on to something else and checks back later
Even if this is an old thread, I thought, that I would share with an idea, how to utilize more that one core in Node.JS app. As Nuray Altin have mentioned - JXcore can do that.
Simple example:
var method = function () {
console.log("this is message from thread no", process.threadId);
};
jxcore.tasks.runOnThread(0, method);
jxcore.tasks.runOnThread(1, method);
// this is message from thread no 1
// this is message from thread no 0
By default there are two threads (you can change it with jxcore.tasks.setThreadCount())
Of course there is much more that you can do with tasks. The docs are here.
Few articles on that subject: