| Thanks for the comments.
>JXCore allows you to run x number of tasks in parallel where x is the number of CPUs? You may have a 8 cores but configure JXcore to use 64 threads. > The problem is solved by running multiple node processes, which is standard deployment for node You can still run multiple node process but 2 threads per each. This will improve the responsiveness of each process by balancing the load exactly on the native side. That means, if anything happens on one of the V8 threads (GC etc). the other one will be handling the load. > That said, how well is each thread isolated from everything else. Totally isolated. We already started to update native c,c++ modules for isolated multithreading. >Does an uncaught exception kill just the thread and its state, or does it kill the process? On this very beta release, it throws into main thread (when it's uncaught by thread) but coming beta (internal monitoring is implemented) will be optionally resetting the sub thread itself. You may simply consider each thread as a separate node.js host. |
A small diagram on the home page showing x cores * y threads would be interesting / helpful. Such a diagram would also highlight that this adds to the multi-process approach (i.e. I don't have to give up my multi-process approach, but get to add multiple threads to it).
Anyway, the solution sounds interesting.