title: Single threaded Node.js on a multi core CPU vs Java (Tomcat)
body: <p>Since Node.js is single threaded, if I run an app that doesn't have any IO involved on Node.js, will it always use just one CPU core even if it is running on a 8 core CPU machine?</p>
  
  <p>Say I have a service that returns a sum of two numbers running on Node, and there are 1000 requests hitting that service at the same time (assume the service computes the sum on the main thread and doesn't use call back since it is a simple task). So Node would handle only one request at a time even when there are 7 cores sitting idle? In Java world, if I set the HTTP thread pool size to 8 in an app server Tomcat, the same 1000 requests would be executed 8 times faster than node. </p>
  
  <p>So do I have to run 8 instances of Node.js on an 8 core machine and front it with a load balancer so all 8 cores get used?</p>